class SimpleService::Result
Attributes
recorded_commands[RW]
value[RW]
verbose_tracking[R]
Public Class Methods
new()
click to toggle source
# File lib/simple_service/result.rb, line 5 def initialize() @recorded_commands = [] @verbose_tracking = SimpleService.configuration.verbose_tracking end
Public Instance Methods
append_result(other_result)
click to toggle source
# File lib/simple_service/result.rb, line 18 def append_result(other_result) self.value = other_result.value self.recorded_commands += other_result.recorded_commands end
commands()
click to toggle source
# File lib/simple_service/result.rb, line 23 def commands self.recorded_commands.map {|rc| rc[:command_name] } end
failure!(klass, command_name, result_value)
click to toggle source
# File lib/simple_service/result.rb, line 14 def failure!(klass, command_name, result_value) record_command(klass, command_name, result_value, :failure) end
failure?()
click to toggle source
# File lib/simple_service/result.rb, line 35 def failure? !success? end
success!(klass, command_name, result_value)
click to toggle source
# File lib/simple_service/result.rb, line 10 def success!(klass, command_name, result_value) record_command(klass, command_name, result_value, :success) end
success?()
click to toggle source
# File lib/simple_service/result.rb, line 31 def success? successes.all? end
successes()
click to toggle source
# File lib/simple_service/result.rb, line 27 def successes self.recorded_commands.map {|rc| rc.has_key?(:success) } end
Private Instance Methods
record_command(klass, command_name, result_value, success_or_failure)
click to toggle source
# File lib/simple_service/result.rb, line 43 def record_command(klass, command_name, result_value, success_or_failure) command_attrs = { class_name: klass.to_s, command_name: command_name, } command_attrs[:received_args] = self.value if verbose_tracking command_attrs[success_or_failure] = verbose_tracking ? result_value : true self.recorded_commands << command_attrs self.value = result_value end