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