class Trailblazer::Macro::Model::Builder
Public Instance Methods
call(options, params)
click to toggle source
# File lib/trailblazer/macro/model.rb, line 30 def call(options, params) action = options[:"model.action"] || :new model_class = options[:"model.class"] find_by_key = options[:"model.find_by_key"] || :id action = :pass_through unless %i[new find_by].include?(action) send("#{action}!", model_class, params, options[:"model.action"], find_by_key) end
find_by!(model_class, params, action, find_by_key, *)
click to toggle source
Doesn't throw an exception and will return false to divert to Left.
# File lib/trailblazer/macro/model.rb, line 44 def find_by!(model_class, params, action, find_by_key, *) model_class.find_by(find_by_key.to_sym => params[find_by_key]) end
new!(model_class, params, *)
click to toggle source
# File lib/trailblazer/macro/model.rb, line 39 def new!(model_class, params, *) model_class.new end
pass_through!(model_class, params, action, find_by_key, *)
click to toggle source
Call any method on the model class and pass find_by_key, for example find(params).
# File lib/trailblazer/macro/model.rb, line 49 def pass_through!(model_class, params, action, find_by_key, *) model_class.send(action, params[find_by_key]) end