class Corvette::Act
Public Class Methods
new(options={})
click to toggle source
include ActiveSupport::Rescuable rescue_from ERRORS, with: :log_error
# File lib/corvette/act.rb, line 12 def initialize(options={}) @options = options process_callbacks end
Public Instance Methods
act_error(exception)
click to toggle source
# File lib/corvette/act.rb, line 40 def act_error(exception) @error_callback.call(self, exception) if @error_callback.is_a?(Proc) end
act_name()
click to toggle source
# File lib/corvette/act.rb, line 65 def act_name @act_name ||= self.class.name.to_s end
act_success()
click to toggle source
# File lib/corvette/act.rb, line 36 def act_success @success_callback.call(self) if @success_callback.is_a?(Proc) end
log_error(exception, params = nil)
click to toggle source
# File lib/corvette/act.rb, line 44 def log_error(exception, params = nil) message = "message: #{ exception.message }; place: #{act_name}; (#{ exception.class })" case exception when Validation::ValidationError, Required::RequiredError message << " error: #{exception.errors.inspect};" else #nothing end unless params.nil? message << " params: #{params.inspect}" end Rails.logger.error message end
logger()
click to toggle source
# File lib/corvette/act.rb, line 61 def logger Rails.logger end
process_callbacks()
click to toggle source
# File lib/corvette/act.rb, line 31 def process_callbacks @error_callback = @options[:on_error] @success_callback = @options[:on_success] end
process_params(params)
click to toggle source
# File lib/corvette/act.rb, line 21 def process_params(params) assert { params.is_a?(Hash) } if params.is_a?(Hashie::Mash) @params = params else @params = Hashie::Mash.new(params) end end
run()
click to toggle source
# File lib/corvette/act.rb, line 17 def run raise NotImplementedError, 'must be overridden' end