module Tzu
Public Class Methods
included(base)
click to toggle source
# File lib/tzu.rb, line 15 def self.included(base) base.class_eval do extend RunMethods include Hooks include Validation end end
Public Instance Methods
command_name()
click to toggle source
# File lib/tzu.rb, line 39 def command_name self.class.command_name end
run(params)
click to toggle source
# File lib/tzu.rb, line 23 def run(params) run!(params) rescue Failure => f Outcome.new(false, f.errors, f.type) end
run!(params)
click to toggle source
# File lib/tzu.rb, line 29 def run!(params) with_hooks(init_request_object(params)) do |p| outcome = call(p) outcome.is_a?(Tzu::Outcome) ? outcome : Outcome.new(true, outcome) end rescue rollback! if self.respond_to?(:rollback!) raise end
Private Instance Methods
init_request_object(params)
click to toggle source
# File lib/tzu.rb, line 45 def init_request_object(params) request_klass = self.class.request_klass return request_klass.new(params) if request_klass params end