Module: Igniter::Extensions::Contracts::ProvenancePack
- Defined in:
- lib/igniter/extensions/contracts/provenance_pack.rb
Constant Summary collapse
- REPORT_CONTRIBUTOR =
Module.new do module_function def augment(report:, result:, profile:) # rubocop:disable Lint/UnusedMethodArgument summary = result.outputs.keys.sort.each_with_object({}) do |output_name, memo| lineage = Igniter::Extensions::Contracts::ProvenancePack.lineage(result, output_name) memo[output_name] = { value: lineage.value, contributing_inputs: lineage.contributing_inputs } end report.add_section(:provenance, { outputs: summary }) end end
Class Method Summary collapse
- .explain(result, output_name) ⇒ Object
- .install_into(kernel) ⇒ Object
- .lineage(result, output_name) ⇒ Object
- .manifest ⇒ Object
Class Method Details
.explain(result, output_name) ⇒ Object
46 47 48 |
# File 'lib/igniter/extensions/contracts/provenance_pack.rb', line 46 def explain(result, output_name) lineage(result, output_name).explain end |
.install_into(kernel) ⇒ Object
37 38 39 40 |
# File 'lib/igniter/extensions/contracts/provenance_pack.rb', line 37 def install_into(kernel) kernel.diagnostics_contributors.register(:provenance, REPORT_CONTRIBUTOR) kernel end |
.lineage(result, output_name) ⇒ Object
42 43 44 |
# File 'lib/igniter/extensions/contracts/provenance_pack.rb', line 42 def lineage(result, output_name) Provenance::Builder.build(output_name, result) end |