Module: ActionParamsContract::Params

Defined in:
lib/action_params_contract/params.rb

Class Method Summary collapse

Class Method Details

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



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

def filter(params, controller: nil, action: nil)
  controller, action = resolve_target(controller, action)
  contract_module    = Contracts.const_get(schema_name_for(controller), false)
  result, root_key   = run_contract(contract_module, params, action)

  ActionController::Parameters.new(scoped_payload(result, root_key)).permit!
end