class WeakParameters::Validator
Attributes
block[R]
controller[R]
Public Class Methods
new(controller, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 5 def initialize(controller, &block) @controller = controller instance_eval(&block) end
Public Instance Methods
strong_params()
click to toggle source
# File lib/weak_parameters/validator.rb, line 18 def strong_params validators.map(&:strong_params).inject(ActionController::Parameters.new, &:merge) end
validate()
click to toggle source
# File lib/weak_parameters/validator.rb, line 10 def validate validators.each(&:validate) end
validators()
click to toggle source
# File lib/weak_parameters/validator.rb, line 14 def validators @validators ||= [] end
Private Instance Methods
any(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 40 def any(key, options = {}, &block) validators << WeakParameters::AnyValidator.new(controller, key, options, &block) end
array(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 60 def array(key, options = {}, &block) validators << WeakParameters::ArrayValidator.new(controller, key, options, &block) end
boolean(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 52 def boolean(key, options = {}, &block) validators << WeakParameters::BooleanValidator.new(controller, key, options, &block) end
date(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 68 def date(key, options = {}, &block) validators << WeakParameters::DateValidator.new(controller, key, options, &block) end
file(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 76 def file(key, options = {}, &block) validators << WeakParameters::FileValidator.new(controller, key, options, &block) end
float(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 64 def float(key, options = {}, &block) validators << WeakParameters::FloatValidator.new(controller, key, options, &block) end
hash(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 56 def hash(key, options = {}, &block) validators << WeakParameters::HashValidator.new(controller, key, options, &block) end
integer(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 48 def integer(key, options = {}, &block) validators << WeakParameters::IntegerValidator.new(controller, key, options, &block) end
list(key, type, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 85 def list(key, type, options = {}, &block) children = with_validators { send type, nil, options, &block } validators << WeakParameters::ListValidator.new(controller, key, children.first, options) end
object(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 80 def object(key, options = {}, &block) children = with_validators { instance_eval(&block) } validators << WeakParameters::ObjectValidator.new(controller, key, children, options) end
params()
click to toggle source
# File lib/weak_parameters/validator.rb, line 36 def params controller.params end
string(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 44 def string(key, options = {}, &block) validators << WeakParameters::StringValidator.new(controller, key, options, &block) end
time(key, options = {}, &block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 72 def time(key, options = {}, &block) validators << WeakParameters::TimeValidator.new(controller, key, options, &block) end
with_validators(&block)
click to toggle source
# File lib/weak_parameters/validator.rb, line 24 def with_validators(&block) old_validators = @validators begin @validators = [] block.call @validators ensure @validators = old_validators end end