Sha256: b06c4780adcf944a8044997973bbce4514d9b1496103be5d730e6784ffcc946e

Contents?: true

Size: 984 Bytes

Versions: 3

Compression:

Stored size: 984 Bytes

Contents

# frozen_string_literal: true

require 'k_log'

module Ad
  module AgentArchitecture
    module Report
      # Print workflow details
      class WorkflowDetailReport
        include KLog::Logging

        def print(workflow)
          log.section_heading 'Workflow Details Report'
          log.kv 'Name', workflow.name
          log.kv 'Description', workflow.description

          workflow.sections.each do |section|
            log.section_heading "Section: #{section.name}"
            log.kv 'Order', section.order
            section.steps.each do |step|
              log.section_heading "Step: #{step.name}"
              log.kv 'Order', step.order
              log.kv 'Prompt', step.prompt
              log.kv 'Input Attributes', step.input_attributes.map { |ia| ia.attribute.name }.join(', ')
              log.kv 'Output Attributes', step.output_attributes.map { |oa| oa.attribute.name }.join(', ')
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ad-agent_architecture-0.0.10 lib/ad/agent_architecture/report/workflow_detail_report.rb
ad-agent_architecture-0.0.9 lib/ad/agent_architecture/report/workflow_detail_report.rb
ad-agent_architecture-0.0.8 lib/ad/agent_architecture/report/workflow_detail_report.rb