Class: JSchema::SimpleValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/jschema/simple_validator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args, parent) ⇒ SimpleValidator

Returns a new instance of SimpleValidator.



16
17
18
19
20
21
22
23
24
# File 'lib/jschema/simple_validator.rb', line 16

def initialize(*args, parent)
  @parent = parent

  if validate_args(*args)
    post_initialize(*args)
  else
    fail InvalidSchema
  end
end

Instance Attribute Details

#parentObject (readonly)

Returns the value of attribute parent.



14
15
16
# File 'lib/jschema/simple_validator.rb', line 14

def parent
  @parent
end

Class Method Details

.build(schema, parent) ⇒ Object



4
5
6
7
# File 'lib/jschema/simple_validator.rb', line 4

def build(schema, parent)
  args = schema.values_at(*keywords)
  new(*args, parent) unless args.compact.empty?
end

Instance Method Details

#valid?(instance) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/jschema/simple_validator.rb', line 26

def valid?(instance)
  validate(instance).nil?
end

#validate(instance) ⇒ Object



30
31
32
33
34
# File 'lib/jschema/simple_validator.rb', line 30

def validate(instance)
  if !applicable_types || applicable_types.any? { |type| type === instance }
    validate_instance(instance)
  end
end