Class: Trailblazer::Macro::Contract::Validate::Extract

Inherits:
Object
  • Object
show all
Defined in:
lib/trailblazer/macro/contract/validate.rb

Overview

Task: extract the contract’s input from params by reading ‘:key`.

Instance Method Summary collapse

Constructor Details

#initialize(key: nil, params_path: nil) ⇒ Extract

Returns a new instance of Extract.



35
36
37
# File 'lib/trailblazer/macro/contract/validate.rb', line 35

def initialize(key: nil, params_path: nil)
  @key, @params_path = key, params_path
end

Instance Method Details

#call(ctx, params: {}) ⇒ Object



39
40
41
# File 'lib/trailblazer/macro/contract/validate.rb', line 39

def call(ctx, params: {}, **)
  ctx[@params_path] = @key ? params[@key] : params
end