Class: RailsSimpleParams::Validator

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/rails_simple_params/validator.rb,
lib/rails_simple_params/validator/in.rb,
lib/rails_simple_params/validator/is.rb,
lib/rails_simple_params/validator/max.rb,
lib/rails_simple_params/validator/min.rb,
lib/rails_simple_params/validator/blank.rb,
lib/rails_simple_params/validator/custom.rb,
lib/rails_simple_params/validator/format.rb,
lib/rails_simple_params/validator/required.rb,
lib/rails_simple_params/validator/max_length.rb,
lib/rails_simple_params/validator/min_length.rb

Direct Known Subclasses

Blank, Custom, Format, In, Is, Max, MaxLength, Min, MinLength, Required

Defined Under Namespace

Classes: Blank, Custom, Format, In, Is, Max, MaxLength, Min, MinLength, Required

Constant Summary collapse

VALIDATABLE_OPTIONS =
%i[
  blank
  custom
  format
  in
  is
  max_length
  max
  min_length
  min
  required
].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parameter) ⇒ Validator

Returns a new instance of Validator.



26
27
28
# File 'lib/rails_simple_params/validator.rb', line 26

def initialize(parameter)
  @parameter = parameter
end

Instance Attribute Details

#parameterObject (readonly)

Returns the value of attribute parameter.



9
10
11
# File 'lib/rails_simple_params/validator.rb', line 9

def parameter
  @parameter
end

Instance Method Details

#valid!Object

Raises:

  • (exception_class)


39
40
41
42
43
44
45
46
47
# File 'lib/rails_simple_params/validator.rb', line 39

def valid!
  return if valid_value?

  raise exception_class.new(
    error_message,
    param: name,
    options: options
  )
end

#validate!Object



30
31
32
33
34
35
36
37
# File 'lib/rails_simple_params/validator.rb', line 30

def validate!
  options.each_key do |key|
    next unless VALIDATABLE_OPTIONS.include? key

    class_name = camelize(key)
    Validator.const_get(class_name).new(parameter).valid!
  end
end