Module: Swamp::Operation
- Defined in:
- lib/swamp/operation.rb,
lib/swamp/operation/result.rb
Overview
Operations
Defined Under Namespace
Modules: ClassMethods, Result Classes: ValidationError
Instance Attribute Summary collapse
-
#input ⇒ Object
readonly
Returns the value of attribute input.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#input ⇒ Object (readonly)
Returns the value of attribute input.
26 27 28 |
# File 'lib/swamp/operation.rb', line 26 def input @input end |
Class Method Details
.included(base) ⇒ Object
22 23 24 |
# File 'lib/swamp/operation.rb', line 22 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#before_call!(**kwargs) ⇒ Object
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/swamp/operation.rb', line 33 def before_call!(**kwargs) @input = Hash[] return unless self.class.input_processor self.class.input_processor.call(kwargs).tap do |result| raise ValidationError, result. unless result.success? @input = result.output end end |
#call(**kwargs) ⇒ Object
28 29 30 31 |
# File 'lib/swamp/operation.rb', line 28 def call(**kwargs) before_call!(**kwargs) _call end |