module Dbee::Dsl::Methods

This mixin contains all the reader/writers for model meta-data declared through the DSL.

Public Instance Methods

association(name, opts = {}) click to toggle source
# File lib/dbee/dsl/methods.rb, line 34
def association(name, opts = {})
  value =
    if opts.is_a?(Dsl::Association)
      opts
    else
      Dsl::Association.new(self.name, inflector, name, opts)
    end

  tap { associations_by_name[name.to_s] = value }
end
associations_by_name() click to toggle source
# File lib/dbee/dsl/methods.rb, line 49
def associations_by_name
  @associations_by_name ||= {}
end
child(name, opts = {}) click to toggle source
# File lib/dbee/dsl/methods.rb, line 28
def child(name, opts = {})
  association = association_builder.child_association(self.name, name, opts)

  association(name, association)
end
parent(name, opts = {}) click to toggle source
# File lib/dbee/dsl/methods.rb, line 22
def parent(name, opts = {})
  association = association_builder.parent_association(self.name, name, opts)

  association(name, association)
end
partitioner(name, value) click to toggle source
# File lib/dbee/dsl/methods.rb, line 14
def partitioner(name, value)
  partitioners << { name: name, value: value }
end
partitioners() click to toggle source
# File lib/dbee/dsl/methods.rb, line 53
def partitioners
  @partitioners ||= []
end
table(name) click to toggle source
# File lib/dbee/dsl/methods.rb, line 18
def table(name)
  tap { @table_name = name.to_s }
end
table_name() click to toggle source
# File lib/dbee/dsl/methods.rb, line 45
def table_name
  @table_name || ''
end
table_name?() click to toggle source
# File lib/dbee/dsl/methods.rb, line 57
def table_name?
  !table_name.empty?
end

Private Instance Methods

association_builder() click to toggle source
# File lib/dbee/dsl/methods.rb, line 67
def association_builder
  @association_builder ||= Dsl::AssociationBuilder.new(inflector)
end
inflector() click to toggle source
# File lib/dbee/dsl/methods.rb, line 63
def inflector
  Dbee.inflector
end