Sha256: 7c7e794176eaeff065962655a6555ba0aa2bca642c348ccd2bca8b64b3f7dc1f
Contents?: true
Size: 856 Bytes
Versions: 3
Compression:
Stored size: 856 Bytes
Contents
# encoding: utf-8 module ROM class Schema class Definition # Builder object for Axiom relation # # @private class Relation include Equalizer.new(:header, :keys) # @api private def initialize(&block) @header = [] @keys = [] instance_eval(&block) end # @api private def call(name) Axiom::Relation::Base.new(name, header) end # @api private def header Axiom::Relation::Header.coerce(@header, keys: @keys) end # @api private def attribute(name, type) @header << [name, type] end # @api private def key(*attribute_names) @keys.concat(attribute_names) end end # Relation end # Definition end # Schema end # ROM
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-relation-0.1.2 | lib/rom/schema/definition/relation.rb |
rom-relation-0.1.1 | lib/rom/schema/definition/relation.rb |
rom-relation-0.1.0 | lib/rom/schema/definition/relation.rb |