Class: JSchema::SimpleValidator
- Inherits:
-
Object
- Object
- JSchema::SimpleValidator
- Defined in:
- lib/jschema/simple_validator.rb
Direct Known Subclasses
StringLengthValidator, Validator::AllOf, Validator::AnyOf, Validator::Dependencies, Validator::Enum, Validator::Format, Validator::Items, Validator::MaxItems, Validator::MaxProperties, Validator::Maximum, Validator::MinItems, Validator::MinProperties, Validator::Minimum, Validator::MultipleOf, Validator::Not, Validator::OneOf, Validator::Pattern, Validator::Properties, Validator::Required, Validator::Type, Validator::UniqueItems
Instance Attribute Summary collapse
-
#parent ⇒ Object
readonly
Returns the value of attribute parent.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(*args, parent) ⇒ SimpleValidator
constructor
A new instance of SimpleValidator.
- #valid?(instance) ⇒ Boolean
- #validate(instance) ⇒ Object
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
#parent ⇒ Object (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
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_type || instance.is_a?(applicable_type) validate_instance(instance) end end |