class ClearLogic::StepAdapters::Stride
Attributes
args[R]
context[R]
operation[R]
options[R]
Public Instance Methods
call(operation, options, args)
click to toggle source
# File lib/clear_logic/step_adapters/stride.rb, line 13 def call(operation, options, args) @operation = operation @options = options @args = args @context = args.flatten.first options[:rescue] ||= {} context.step = options[:step_name] return success(context) if context.exit_success? result = operation.call(context) log_result return result if result.success? failure_method rescue *Array(options[:rescue].keys) => e catch_error(e) end
catch_error(error)
click to toggle source
# File lib/clear_logic/step_adapters/stride.rb, line 36 def catch_error(error) context.catched_error = error log_result rescue_method = options[:rescue][error.class] rescue_method ? context.service.send(rescue_method, context) : failure(context) end
failure_method()
click to toggle source
# File lib/clear_logic/step_adapters/stride.rb, line 51 def failure_method options[:failure] ? context.service.send(options[:failure], context) : failure(context) end
log_result()
click to toggle source
# File lib/clear_logic/step_adapters/stride.rb, line 45 def log_result return unless options[:log] || context.service.class.logger_options[:log_all] context.service.class.logger_instance.info(context) end