class Pakyow::Operation
Attributes
app[R]
values[R]
Public Class Methods
handle(error = nil, &block)
click to toggle source
# File lib/pakyow/operation.rb, line 65 def handle(error = nil, &block) @__handlers[error || :global] = block end
new(app:, **values)
click to toggle source
# File lib/pakyow/operation.rb, line 25 def initialize(app:, **values) @app, @values = app, values end
verify(&block)
click to toggle source
Perform input verification before performing the operation
@see Pakyow::Verifier
# File lib/pakyow/operation.rb, line 57 def verify(&block) define_method :__verify do verify(&block) end action :__verify end
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/pakyow/operation.rb, line 39 def method_missing(name, *args, &block) name = name.to_sym if @values.key?(name) @values[name.to_sym] else super end end
perform()
click to toggle source
# File lib/pakyow/operation.rb, line 29 def perform call(self) rescue => error if handler = self.class.__handlers[error.class] || self.class.__handlers[:global] instance_exec(&handler); self else raise error end end
respond_to_missing?(name, include_private = false)
click to toggle source
Calls superclass method
# File lib/pakyow/operation.rb, line 48 def respond_to_missing?(name, include_private = false) @values.key?(name.to_sym) || super end