module ActionParamsSanitizer::Concerns::ResourceParamBuilder::ClassMethods

Public Instance Methods

resource(resource) click to toggle source
# File lib/action_params_sanitizer/concerns/resource_param_builder.rb, line 9
def resource(resource)
  if resource.is_a? Hash
    define_fetch_params_method(*resource.to_a.first)
  else
    define_fetch_params_method resource
  end
end

Private Instance Methods

define_fetch_params_method(resource_name, attributes = []) click to toggle source
# File lib/action_params_sanitizer/concerns/resource_param_builder.rb, line 19
def define_fetch_params_method(resource_name, attributes = [])
  class_eval make_fetch_param_method_code(resource_name, make_permit(attributes))
end
make_fetch_param_method_code(resource_name, permit) click to toggle source
# File lib/action_params_sanitizer/concerns/resource_param_builder.rb, line 27
        def make_fetch_param_method_code(resource_name, permit)
          <<-CODE
            def #{resource_name}_params
              params.require(:#{resource_name}).permit#{permit}
            end
          CODE
        end
make_permit(attributes) click to toggle source
# File lib/action_params_sanitizer/concerns/resource_param_builder.rb, line 23
def make_permit(attributes)
  attributes.any? ? "(#{attributes})" : '!'
end