Sha256: 6eed51011713df1f6b7d284027dd556ed1a47467e3470541074e0edf25e63eeb

Contents?: true

Size: 374 Bytes

Versions: 3

Compression:

Stored size: 374 Bytes

Contents

module Schemacop
  class ObjectValidator < Node
    register symbols: :object, klasses: Object

    option :classes

    def type_label
      "#{super} (#{classes.join(', ')})"
    end

    def type_matches?(data)
      super && (classes.empty? || classes.include?(data.class)) && !data.nil?
    end

    private

    def classes
      [*option(:classes)]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
schemacop-2.2.0 lib/schemacop/validator/object_validator.rb
schemacop-2.1.0 lib/schemacop/validator/object_validator.rb
schemacop-2.0.0 lib/schemacop/validator/object_validator.rb