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