module MyStuff::MultiDB::CoreExt::Base::ClassMethods

Public Instance Methods

abstract_class?() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 41
def abstract_class?; true; end
arel_engine() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 29
def arel_engine
  magic_database.arel_engine
end
base_class() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 20
def base_class
  self
end
connection() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 33
def connection
  magic_database.connection
end
connection_pool() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 37
def connection_pool
  magic_database.connection_pool
end
inherited(child) click to toggle source
Calls superclass method
# File lib/my_stuff/multidb/core_ext/base.rb, line 50
def inherited(child)
  def child.abstract_class?; false; end
  def child.base_class; self; end
  super
end
magic_database() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 24
def magic_database
  @magic_database ||=
    self.name.split('::')[0..-2].join('::').constantize
end
model_name() click to toggle source
# File lib/my_stuff/multidb/core_ext/base.rb, line 43
def model_name
  # Rails form_for wants this
  ActiveModel::Name.new(
    self.name.split('::').last.tap{|s| def s.name; self; end}
  )
end