Module: ActionParamsContract::Params

Defined in:
lib/action_params_contract/params.rb

Class Method Summary collapse

Class Method Details

.cast(params, controller: nil, action: nil) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/action_params_contract/params.rb', line 6

def cast(params, controller: nil, action: nil)
  controller, action = resolve_target(controller, action)
  contract_module    = Contracts.const_get(schema_name_for(controller), false)
  result             = run_contract(contract_module, params, action)
  validated          = result.success? ? result.to_h : {}

  ActionController::Parameters.new(validated).permit!
end