Sha256: 62ef19d6e3e2b66eb08d0f7e748d7ac0f990854e17559381083dc36328c07636
Contents?: true
Size: 551 Bytes
Versions: 1
Compression:
Stored size: 551 Bytes
Contents
require_relative '../abstract_validator' module StValidation module Validators class HashValidator < AbstractValidator def initialize(blueprint, factory) @validators = blueprint.map { |k, bp| [k, factory.build(bp)] }.to_h end def call(value) return false unless value.is_a?(Hash) && (value.keys - validators.keys).empty? validators.each { |k, v| return false unless v.call(value[k]) } true end private attr_reader :validators end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
st_validation-0.1.0 | lib/st_validation/validators/hash_validator.rb |