Module: ProcessChain::InstanceMethods
- Defined in:
- lib/process_chain.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#if_fail { ... } ⇒ Object
Execute passed code block if chain is not success.
-
#if_success { ... } ⇒ Object
Execute passed code block if chain is success.
-
#initialize(input: {}, success: true) ⇒ Object
Constructor.
-
#return_fail(results = nil) ⇒ Object
Returns a new fail instace of chain.
-
#return_success(results = nil) ⇒ Object
Returns a new success instace of chain.
- #success? ⇒ true false
Instance Method Details
#if_fail { ... } ⇒ Object
Execute passed code block if chain is not success
43 44 45 46 |
# File 'lib/process_chain.rb', line 43 def if_fail return self if success? yield end |
#if_success { ... } ⇒ Object
Execute passed code block if chain is success
36 37 38 39 |
# File 'lib/process_chain.rb', line 36 def if_success return self unless success? yield if success? end |
#initialize(input: {}, success: true) ⇒ Object
Constructor
23 24 25 26 27 |
# File 'lib/process_chain.rb', line 23 def initialize(input: {}, success: true) raise ArgumentError, '"input" should be a Hash' unless input.is_a? Hash @success = success @results = input end |
#return_fail(results = nil) ⇒ Object
Returns a new fail instace of chain
56 57 58 |
# File 'lib/process_chain.rb', line 56 def return_fail(results = nil) self.class.new input: build_new_result(results), success: false end |
#return_success(results = nil) ⇒ Object
Returns a new success instace of chain
50 51 52 |
# File 'lib/process_chain.rb', line 50 def return_success(results = nil) self.class.new input: build_new_result(results) end |
#success? ⇒ true false
30 31 32 |
# File 'lib/process_chain.rb', line 30 def success? @success end |