Module: DataModel
- Extended by:
- DataModel, T::Sig
- Included in:
- DataModel
- Defined in:
- lib/data_model/type.rb,
lib/data_model.rb,
lib/data_model/error.rb,
lib/data_model/model.rb,
lib/data_model/errors.rb,
lib/data_model/boolean.rb,
lib/data_model/builtin.rb,
lib/data_model/logging.rb,
lib/data_model/scanner.rb,
lib/data_model/testing.rb,
lib/data_model/version.rb,
lib/data_model/registry.rb,
lib/data_model/builtin/date.rb,
lib/data_model/builtin/hash.rb,
lib/data_model/builtin/time.rb,
lib/data_model/builtin/array.rb,
lib/data_model/builtin/float.rb,
lib/data_model/fixtures/date.rb,
lib/data_model/fixtures/hash.rb,
lib/data_model/fixtures/time.rb,
lib/data_model/builtin/string.rb,
lib/data_model/builtin/symbol.rb,
lib/data_model/fixtures/array.rb,
lib/data_model/fixtures/float.rb,
lib/data_model/builtin/boolean.rb,
lib/data_model/builtin/integer.rb,
lib/data_model/fixtures/string.rb,
lib/data_model/fixtures/symbol.rb,
lib/data_model/fixtures/boolean.rb,
lib/data_model/fixtures/example.rb,
lib/data_model/fixtures/integer.rb,
lib/data_model/testing/minitest.rb,
lib/data_model/builtin/big_decimal.rb,
lib/data_model/fixtures/big_decimal.rb
Overview
typed: strict
Defined Under Namespace
Modules: Builtin, Errors, Logging, Scanner, Testing Classes: Boolean, Error, Model, Registry, Type
Constant Summary collapse
- TSchema =
T.type_alias { T::Array[Object] }
- TData =
T.type_alias { Object }
- TError =
an error is a tuple of [error_type, error_context], where context provides additional information about the error
T.type_alias { [Symbol, Object] }
- TTypeMap =
a map of symbol => type, suitable for sending to a TypeRegistry
T.type_alias { T::Hash[Symbol, T.class_of(Type)] }
- VERSION =
"0.4.0"
Instance Method Summary collapse
Instance Method Details
#define(schema, registry: Registry.instance) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/data_model.rb', line 31 def define(schema, registry: Registry.instance) scanned = Scanner.scan(schema, registry) type = registry.type( scanned.type, args: scanned.args, params: scanned.params, ) model = Model.new(schema, type) return model end |