Sha256: 7e9290d1e784cc4bbe8fac09759b987fdb74c886dc8c891dfec16d340efb6503

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

require "jsi/version"
require "pp"
require "jsi/json-schema-fragments"
require "jsi/util"

module JSI
  # generally put in code paths that are not expected to be valid control flow paths.
  # rather a NotImplementedCorrectlyError. but that's too long.
  class Bug < NotImplementedError
  end

  autoload :JSON, 'jsi/json'
  autoload :Typelike, 'jsi/typelike_modules'
  autoload :Hashlike, 'jsi/typelike_modules'
  autoload :Arraylike, 'jsi/typelike_modules'
  autoload :Schema, 'jsi/schema'
  autoload :Base, 'jsi/base'
  autoload :BaseArray, 'jsi/base'
  autoload :BaseHash, 'jsi/base'
  autoload :SchemaClasses, 'jsi/base'
  autoload :ObjectJSONCoder, 'jsi/schema_instance_json_coder'
  autoload :StructJSONCoder, 'jsi/struct_json_coder'
  autoload :SchemaInstanceJSONCoder, 'jsi/schema_instance_json_coder'

  # @return [Class subclassing JSI::Base] a JSI class which represents the
  #   given schema. instances of the class represent JSON Schema instances
  #   for the given schema.
  def self.class_for_schema(*a, &b)
    SchemaClasses.class_for_schema(*a, &b)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jsi-0.0.4 lib/jsi.rb
jsi-0.0.3 lib/jsi.rb
jsi-0.0.2 lib/jsi.rb