module Swamp::Operation
Operations @example
class MyOperation include Swamp::Operation def _call input[:id] end input do required(:id) { int? } end end
Attributes
input[R]
Public Class Methods
included(base)
click to toggle source
# File lib/swamp/operation.rb, line 22 def self.included(base) base.extend ClassMethods end
Public Instance Methods
before_call!(**kwargs)
click to toggle source
# 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.messages unless result.success? @input = result.output end end
call(**kwargs)
click to toggle source
# File lib/swamp/operation.rb, line 28 def call(**kwargs) before_call!(**kwargs) _call end