Module: StrongPermitter::Manager

Included in:
ActionController::Base
Defined in:
lib/strong_permitter/manager.rb

Instance Method Summary collapse

Instance Method Details

#permitted_paramsObject



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/strong_permitter/manager.rb', line 3

def permitted_params
  @permission_class ||= "#{self.class.name.sub('Controller', '')}Permission".camelcase.safe_constantize
  return nil unless @permission_class

  action_hash = @permission_class.actions[action_name.to_sym]

  resource_name = action_hash[:resource] || @permission_class.resource_name || controller_name.singularize
  allowed_params = action_hash[:permitted_params]

  params.required(resource_name).permit(*allowed_params)
end