class StrongPermitter::Permission::Base

Public Class Methods

actions() click to toggle source
# File lib/strong_permitter/permission/base.rb, line 5
def actions
  @actions ||= Hash.new { |hash,val| hash[val] = { permitted_params: [] } }
end
allowed_params_for(action_name, *param_names_and_options) click to toggle source
# File lib/strong_permitter/permission/base.rb, line 17
def allowed_params_for(action_name, *param_names_and_options)
  options = extract_options!(param_names_and_options)
  param_names = param_names_and_options

  resource_name = get_resource_name(options)

  actions[action_name][:permitted_params] = param_names
  actions[action_name][:resource] = resource_name if resource_name
end
create_params(*param_names_and_options) click to toggle source
# File lib/strong_permitter/permission/base.rb, line 9
def create_params(*param_names_and_options)
  allowed_params_for :create, *param_names_and_options
end
resource_name() click to toggle source
# File lib/strong_permitter/permission/base.rb, line 31
def resource_name
  @resource_name
end
resource_name=(name) click to toggle source
# File lib/strong_permitter/permission/base.rb, line 27
def resource_name=(name)
  @resource_name ||= name
end
update_params(*param_names_and_options) click to toggle source
# File lib/strong_permitter/permission/base.rb, line 13
def update_params(*param_names_and_options)
  allowed_params_for :update, *param_names_and_options
end

Private Class Methods

extract_options!(param_names_and_options) click to toggle source
# File lib/strong_permitter/permission/base.rb, line 37
def extract_options!(param_names_and_options)
  if param_names_and_options.last.is_a?(Hash)
    if param_names_and_options.last[:resource]
      options = param_names_and_options.last.keys.length == 1 ?
          param_names_and_options.pop :
          param_names_and_options.last.delete(:resource)
    end
  end
  options || {}
end
get_resource_name(options) click to toggle source
# File lib/strong_permitter/permission/base.rb, line 48
def get_resource_name(options)
  options.is_a?(Hash) && options[:resource]
end