Sha256: 0ed5f2d604cf3ec712de406a0cfacc897baa1a5bc7e80417e59edf8604c0d85b
Contents?: true
Size: 900 Bytes
Versions: 3
Compression:
Stored size: 900 Bytes
Contents
require "logger" require "bigdecimal" require "date" require "time" require "bundler/setup" require "zeitwerk" loader = Zeitwerk::Loader.for_gem loader.setup module DataModel extend self # Scan a schema and create a data model, which is a configured type. # @param schema [Array] the schema to define # @param registry [Registry] the registry to use # @return [Model] the model built from the schema 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 # Register a global type, which is available to all models. # @param name [Symbol] the name of the Type # @param type [Type] the type to register # @return [void] def register_global_type(name, type) Registry.register(name, type) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
data_model-0.6.1 | lib/data_model.rb |
data_model-0.6.0 | lib/data_model.rb |
data_model-0.5.0 | lib/data_model.rb |