class HashValidator::Validator::SimpleValidator

Attributes

lambda[RW]

Public Class Methods

new(name, lambda) click to toggle source
Calls superclass method HashValidator::Validator::Base::new
# File lib/hash_validator/validators/simple_validator.rb, line 5
def initialize(name, lambda)
  # lambda must accept one argument (the value)
  if lambda.arity != 1
    raise StandardError.new("lambda should take only one argument - passed lambda takes #{lambda.arity}")
  end

  super(name)
  self.lambda = lambda
end

Public Instance Methods

validate(key, value, _validations, errors) click to toggle source
# File lib/hash_validator/validators/simple_validator.rb, line 15
def validate(key, value, _validations, errors)
  unless lambda.call(value)
    errors[key] = presence_error_message
  end
end