Class: Membrane::Schemas::Dictionary::MembersValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/membrane/schemas/dictionary.rb

Instance Method Summary collapse

Constructor Details

#initialize(key_schema, value_schema, object) ⇒ MembersValidator

Returns a new instance of MembersValidator.



41
42
43
44
45
# File 'lib/membrane/schemas/dictionary.rb', line 41

def initialize(key_schema, value_schema, object)
  @key_schema = key_schema
  @value_schema = value_schema
  @object = object
end

Instance Method Details

#validateObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/membrane/schemas/dictionary.rb', line 47

def validate
  errors = {}

  @object.each do |k, v|
    begin
      @key_schema.validate(k)
      @value_schema.validate(v)
    rescue Membrane::SchemaValidationError => e
      errors[k] = e.to_s
    end
  end

  fail!(errors) if errors.size > 0
end