Sha256: b69ecca2193462a4ee7eb3b7625d8bf80d284f4e3c15afd6ecae0893673b2841

Contents?: true

Size: 918 Bytes

Versions: 1

Compression:

Stored size: 918 Bytes

Contents

require 'forwardable'

module Inspector
  autoload :Validator,           'inspector/validator'
  autoload :DSL,                 'inspector/dsl'
  autoload :Constraints,         'inspector/constraints'
  autoload :Constraint,          'inspector/constraint'
  autoload :Metadata,            'inspector/metadata'
  autoload :TypeMetadata,        'inspector/type_metadata'
  autoload :AttributeMetadata,   'inspector/attribute_metadata'
  autoload :PropertyMetadata,    'inspector/property_metadata'

  class << self
    extend Forwardable
    def_delegators :@validator, :validate, :valid
  end

  @validators_map = {}
  @validator      = Validator.new(
    Metadata::Map.new,
    Metadata::Walker.new(Constraint::Violation::List, @validators_map),
    TypeMetadata
  )

  @validators_map[:simple]   = Constraint::Validators::Simple.new
  @validators_map[:validity] = Constraint::Validators::Validity.new(@validator)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
object-inspector-0.1.0 lib/inspector.rb