class Procedure::Outcome

Public Class Methods

new(step_classes) click to toggle source
# File lib/procedure/outcome.rb, line 3
def initialize(step_classes)
  @step_classes = step_classes
  @failed_step = nil
  @passed_steps = []
end

Public Instance Methods

add(step) click to toggle source
# File lib/procedure/outcome.rb, line 9
def add(step)
  if step.passed?
    @passed_steps << step
  else
    @failed_step = step
  end
end
failure?() click to toggle source
# File lib/procedure/outcome.rb, line 29
def failure?
  !@failed_step.nil?
end
failure_code() click to toggle source
# File lib/procedure/outcome.rb, line 23
def failure_code
  return unless failure?

  @failed_step.failure_code
end
failure_message() click to toggle source
# File lib/procedure/outcome.rb, line 17
def failure_message
  return unless failure?

  @failed_step.failure_message
end
passed_steps() click to toggle source
# File lib/procedure/outcome.rb, line 37
def passed_steps
  @passed_steps.map { |step| step.class.name }
end
positive?() click to toggle source
# File lib/procedure/outcome.rb, line 33
def positive?
  @failed_step.nil? && @step_classes.size == @passed_steps.size
end