class Uncouple::Action
Attributes
params[R]
Public Class Methods
new(params=nil)
click to toggle source
# File lib/uncouple/action.rb, line 10 def initialize(params=nil) @params = recast_parameters(params || {}) end
Public Instance Methods
failure?()
click to toggle source
# File lib/uncouple/action.rb, line 22 def failure? !success? end
perform()
click to toggle source
# File lib/uncouple/action.rb, line 14 def perform raise NotImplementedError, "Overwrite `perform` in your action. Params: #{params}" end
perform?(&block)
click to toggle source
# File lib/uncouple/action.rb, line 26 def perform?(&block) perform block.call(self) if block_given? success? end
success?()
click to toggle source
# File lib/uncouple/action.rb, line 18 def success? @success end
Private Instance Methods
recast_as_indifferent_parameters(params)
click to toggle source
# File lib/uncouple/action.rb, line 48 def recast_as_indifferent_parameters(params) params.is_a?(ActiveSupport::HashWithIndifferentAccess) ? params : ActiveSupport::HashWithIndifferentAccess.new(params) end
recast_as_strong_parameters(params)
click to toggle source
# File lib/uncouple/action.rb, line 44 def recast_as_strong_parameters(params) params.is_a?(ActionController::Parameters) ? params : ActionController::Parameters.new(params) end
recast_parameters(params)
click to toggle source
# File lib/uncouple/action.rb, line 34 def recast_parameters(params) if defined?(ActionController::Parameters) recast_as_strong_parameters(params) elsif defined?(ActiveSupport::HashWithIndifferentAccess) recast_as_indifferent_parameters(params) else params end end