class Devise::BaseSanitizer

Attributes

params[R]
resource_class[R]
resource_name[R]

Public Class Methods

new(resource_class, resource_name, params) click to toggle source
# File lib/devise/parameter_sanitizer.rb, line 5
def initialize(resource_class, resource_name, params)
  @resource_class = resource_class
  @resource_name  = resource_name
  @params         = params
  @blocks         = Hash.new
end

Public Instance Methods

for(kind, &block) click to toggle source
# File lib/devise/parameter_sanitizer.rb, line 12
def for(kind, &block)
  if block_given?
    @blocks[kind] = block
  else
    default_for(kind)
  end
end
sanitize(kind) click to toggle source
# File lib/devise/parameter_sanitizer.rb, line 20
def sanitize(kind)
  if block = @blocks[kind]
    block.call(default_params)
  else
    default_sanitize(kind)
  end
end

Private Instance Methods

default_for(kind) click to toggle source
# File lib/devise/parameter_sanitizer.rb, line 30
def default_for(kind)
  raise ArgumentError, "a block is expected in Devise base sanitizer"
end
default_params() click to toggle source
# File lib/devise/parameter_sanitizer.rb, line 38
def default_params
  params.fetch(resource_name, {})
end
default_sanitize(kind) click to toggle source
# File lib/devise/parameter_sanitizer.rb, line 34
def default_sanitize(kind)
  default_params
end