Class: Trailblazer::Macro::Contract::Validate::Extract
- Inherits:
-
Object
- Object
- Trailblazer::Macro::Contract::Validate::Extract
- Defined in:
- lib/trailblazer/macro/contract/validate.rb
Overview
Task: extract the contract’s input from params by reading ‘:key`.
Instance Method Summary collapse
- #call(ctx, params: {}) ⇒ Object
-
#initialize(key_path: nil, params_path: nil) ⇒ Extract
constructor
A new instance of Extract.
Constructor Details
#initialize(key_path: nil, params_path: nil) ⇒ Extract
Returns a new instance of Extract.
42 43 44 |
# File 'lib/trailblazer/macro/contract/validate.rb', line 42 def initialize(key_path: nil, params_path: nil) @key_path, @params_path = key_path, params_path end |
Instance Method Details
#call(ctx, params: {}) ⇒ Object
46 47 48 49 |
# File 'lib/trailblazer/macro/contract/validate.rb', line 46 def call(ctx, params: {}, **) key = ctx[@key_path] # e.g. {:song}. ctx[@params_path] = key ? params[key] : params end |