Module: Igniter::Extensions::Contracts::ExecutionReportPack

Defined in:
lib/igniter/extensions/contracts/execution_report_pack.rb

Constant Summary collapse

REPORT_CONTRIBUTOR =
Module.new do
  module_function

  def augment(report:, result:, profile:)
    report.add_section(:execution_report, {
                         profile_fingerprint: profile.fingerprint,
                         pack_names: profile.pack_names.sort,
                         output_count: result.outputs.length,
                         state_count: result.state.length,
                         outputs: result.outputs.to_h,
                         state_keys: result.state.keys.sort
                       })
  end
end

Class Method Summary collapse

Class Method Details

.install_into(kernel) ⇒ Object



31
32
33
34
# File 'lib/igniter/extensions/contracts/execution_report_pack.rb', line 31

def install_into(kernel)
  kernel.diagnostics_contributors.register(:execution_report, REPORT_CONTRIBUTOR)
  kernel
end

.manifestObject



24
25
26
27
28
29
# File 'lib/igniter/extensions/contracts/execution_report_pack.rb', line 24

def manifest
  Igniter::Contracts::PackManifest.new(
    name: :extensions_execution_report,
    registry_contracts: [Igniter::Contracts::PackManifest.diagnostic(:execution_report)]
  )
end