module HashValidator

Constants

VERSION

Public Class Methods

append_validator(validator) click to toggle source
# File lib/hash_validator/validators.rb, line 5
def self.append_validator(validator)
  unless validator.is_a?(HashValidator::Validator::Base)
    raise StandardError.new('validators need to inherit from HashValidator::Validator::Base')
  end

  if @@validators.detect { |v| v.name == validator.name }
    raise StandardError.new('validators need to have unique names')
  end

  @@validators << validator
end
many(validation) click to toggle source
# File lib/hash_validator.rb, line 10
def self.many(validation)
  Validations::Many.new(validation)
end
multiple(*validations) click to toggle source
# File lib/hash_validator.rb, line 14
def self.multiple(*validations)
  Validations::Multiple.new(validations)
end
optional(validation) click to toggle source
# File lib/hash_validator.rb, line 6
def self.optional(validation)
  Validations::Optional.new(validation)
end
validate(*args) click to toggle source
# File lib/hash_validator.rb, line 2
def self.validate(*args)
  Base.validate(*args)
end
validator_for(rhs) click to toggle source
# File lib/hash_validator/validators.rb, line 17
def self.validator_for(rhs)
  @@validators.detect { |v| v.should_validate?(rhs) } || raise(StandardError.new("Could not find valid validator for: #{rhs}"))
end