class PoroValidator::Validator::Factory::Validators

Public Class Methods

set_validator(attr_name, validator, options={}) click to toggle source
# File lib/poro_validator/validator/factory.rb, line 6
def set_validator(attr_name, validator, options={})
  klass = class_name(validator)
  begin
    PoroValidator.const_get(klass).new(attr_name, options)
  rescue NameError => e
    raise(::PoroValidator::ValidatorNotFound.new(
        "Validator not found: ::PoroValidator::#{klass} exception: #{e}"
      )
    )
  end
end

Private Class Methods

camel_case(str) click to toggle source
# File lib/poro_validator/validator/factory.rb, line 24
def camel_case(str)
  str.split('_').map do |char|
    char.capitalize
  end.join('')
end
class_name(validator) click to toggle source
# File lib/poro_validator/validator/factory.rb, line 20
def class_name(validator)
  "Validators::#{camel_case(validator.to_s)}Validator"
end