Module: Reaction::HasValidators::ClassMethods

Defined in:
lib/reaction/has_validators.rb

Instance Method Summary collapse

Instance Method Details

#class_for_validator(validator) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/reaction/has_validators.rb', line 23

def class_for_validator(validator)
  return validator if validator.is_a?(Class)
  name = validator.to_s.split('_').map(&:capitalize).join
  const_get("#{name}Validator")
rescue NameError
  raise ArgumentError.new("Unknown param validator: #{validator}")
end

#set_validator(name, validator, options = {}) ⇒ Object



12
13
14
15
# File 'lib/reaction/has_validators.rb', line 12

def set_validator(name, validator, options = {})
  klass = class_for_validator(validator)
  validators[name.to_sym] = klass.new(options)
end

#set_validators(name, validators = {}) ⇒ Object



17
18
19
20
21
# File 'lib/reaction/has_validators.rb', line 17

def set_validators(name, validators = {})
  validators.each do |validator, options|
    set_validator(name, validator, options)
  end
end

#validatorsObject



8
9
10
# File 'lib/reaction/has_validators.rb', line 8

def validators
  @validators ||= {}
end