Module: SimpleService::InstanceMethods
- Defined in:
- lib/simple_service.rb
Instance Method Summary collapse
- #call(kwargs) ⇒ Object
- #commands ⇒ Object
- #failure(result_value) ⇒ Object
- #result ⇒ Object
- #success(result_value) ⇒ Object
Instance Method Details
#call(kwargs) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/simple_service.rb', line 52 def call(kwargs) result.value = kwargs.is_a?(Result) ? kwargs.value : kwargs commands.each do |command| @current_command = command command_output = if command.is_a?(Class) command.new.call(result.value) elsif command.is_a?(Symbol) method(command).call(result.value) end if command_output.is_a?(Result) result.append_result(command_output) end break if result.failure? end result end |
#commands ⇒ Object
48 49 50 |
# File 'lib/simple_service.rb', line 48 def commands self.class.instance_variable_get('@commands') end |
#failure(result_value) ⇒ Object
78 79 80 |
# File 'lib/simple_service.rb', line 78 def failure(result_value) result.failure!(self.class, @current_command, result_value) end |
#result ⇒ Object
44 45 46 |
# File 'lib/simple_service.rb', line 44 def result @result ||= Result.new end |
#success(result_value) ⇒ Object
74 75 76 |
# File 'lib/simple_service.rb', line 74 def success(result_value) result.success!(self.class, @current_command, result_value) end |