Sha256: 047915606f8a098b33e1f78849ca934f7c1c8b16e55095338a03431c8d419f8a
Contents?: true
Size: 738 Bytes
Versions: 17
Compression:
Stored size: 738 Bytes
Contents
module Schemacop module V3 class ObjectNode < Node def self.allowed_options super + %i[classes strict] end def as_json {} # Not supported by Json Schema end protected def allowed_types @classes.map { |c| [c, c.name] }.to_h end def init @classes = Array(options.delete(:classes) || []) @strict = options.delete(:strict) @strict = true if @strict.nil? end def type_assertion_method @strict ? :instance_of? : :is_a? end def validate_self unless @strict.is_a?(TrueClass) || @strict.is_a?(FalseClass) fail 'Option "strict" must be a "boolean".' end end end end end
Version data entries
17 entries across 17 versions & 1 rubygems