Sha256: 6e7a557be94bad414f7d9541a0745ceadba038c459e122abca6a2d72a43862af

Contents?: true

Size: 527 Bytes

Versions: 1

Compression:

Stored size: 527 Bytes

Contents

module StrongPermitter
  module Manager
    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
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
strong-permitter-0.0.3 lib/strong_permitter/manager.rb