Class: Trailblazer::Operation::Model::Builder
- Inherits:
-
Object
- Object
- Trailblazer::Operation::Model::Builder
- Defined in:
- lib/trailblazer/operation/model.rb
Instance Method Summary collapse
- #call(options, params) ⇒ Object
- #find!(model_class, params) ⇒ Object
-
#find_by!(model_class, params) ⇒ Object
Doesn’t throw an exception and will return false to divert to Left.
- #new!(model_class, params) ⇒ Object
-
#pass_through!(model_class, params, action) ⇒ Object
Call any method on the model class and pass :id.
Instance Method Details
#call(options, params) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/trailblazer/operation/model.rb', line 24 def call(, params) deprecate_update!() action = ["model.action"] || :new model_class = ["model.class"] action = :pass_through unless [:new, :find_by, :find].include?(action) send("#{action}!", model_class, params, ["model.action"]) end |
#find!(model_class, params) ⇒ Object
38 39 40 |
# File 'lib/trailblazer/operation/model.rb', line 38 def find!(model_class, params, *) model_class.find(params[:id]) end |
#find_by!(model_class, params) ⇒ Object
Doesn’t throw an exception and will return false to divert to Left.
43 44 45 |
# File 'lib/trailblazer/operation/model.rb', line 43 def find_by!(model_class, params, *) model_class.find_by(id: params[:id]) end |
#new!(model_class, params) ⇒ Object
34 35 36 |
# File 'lib/trailblazer/operation/model.rb', line 34 def new!(model_class, params, *) model_class.new end |
#pass_through!(model_class, params, action) ⇒ Object
Call any method on the model class and pass :id.
48 49 50 |
# File 'lib/trailblazer/operation/model.rb', line 48 def pass_through!(model_class, params, action) model_class.send(action, params[:id]) end |