Sha256: c36572c0384b69d22247bd99b0a4c0f2d9fa8263e1b2fea54b73a8acdf5ead03
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
# encoding: utf-8 require 'rom/schema' require 'rom/schema/definition' module ROM class Schema # Schema builder DSL # class Builder include Concord.new(:definition), Adamantium::Flat # Build a relation schema # # @example # # Schema.build do # base_relation :users do # repository :test # attribute :id, :name # end # end # # @return [Schema] # # @api public def self.build(repositories, &block) new(Definition.new(repositories, &block)) end # Return defined relation identified by name # # @example # # schema[:users] # => #<Axiom::Relation::Base ..> # # @return [Axiom::Relation, Axiom::Relation::Base] # # @api public def [](name) definition[name] end # @api private def call(&block) definition.instance_eval(&block) self end # @api private def finalize Schema.new(definition.relations) end end # Builder end # Schema end # ROM
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-0.2.0 | lib/rom/schema/builder.rb |