Class: BPMN::ExecutionPrinter

Inherits:
Object
  • Object
show all
Defined in:
lib/bpmn/execution.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(execution) ⇒ ExecutionPrinter

Returns a new instance of ExecutionPrinter.



376
377
378
# File 'lib/bpmn/execution.rb', line 376

def initialize(execution)
  @execution = execution
end

Instance Attribute Details

#executionObject

Returns the value of attribute execution.



374
375
376
# File 'lib/bpmn/execution.rb', line 374

def execution
  @execution
end

Instance Method Details



380
381
382
383
384
385
386
# File 'lib/bpmn/execution.rb', line 380

def print
  puts
  puts "#{execution.step.id} #{execution.status} * #{execution.tokens.join(', ')}"
  print_variables unless execution.variables.empty?
  print_children
  puts
end


395
396
397
398
399
400
401
402
403
# File 'lib/bpmn/execution.rb', line 395

def print_child(child, index)
  str = "#{index} #{child.step.class.name.demodulize} #{child.step.id}: #{child.status} #{JSON.pretty_generate(child.variables, { indent: '', object_nl: ' ' }) unless child.variables.empty? }".strip
  str = "#{str} * in: #{child.tokens_in.join(', ')}" if child.tokens_in.present?
  str = "#{str} * out: #{child.tokens_out.join(', ')}" if child.tokens_out.present?
  puts str
  child.children.each_with_index do |grandchild, grandindex|
    print_child(grandchild, "#{index}.#{grandindex}")
  end
end


388
389
390
391
392
393
# File 'lib/bpmn/execution.rb', line 388

def print_children
  puts
  execution.children.each_with_index do |child, index|
    print_child(child, index)
  end
end


405
406
407
408
# File 'lib/bpmn/execution.rb', line 405

def print_variables
  puts
  puts JSON.pretty_generate(execution.variables)
end