module DynamicModel::DomainExtension

Public Instance Methods

add_table(scoped_table_name, &block) click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 21
def add_table(scoped_table_name, &block)
  DynamicModel.add_table scoped_table_name, table_prefix: prefix, &block
end
alter_table(scoped_table_name, &block) click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 25
def alter_table(scoped_table_name, &block)
  DynamicModel.alter_table scoped_table_name, table_prefix: prefix, &block
end
model_class(scoped_table_name) click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 29
def model_class(scoped_table_name)
  Hash[scoped_table_names.zip model_classes][scoped_table_name]
end
model_classes() click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 5
def model_classes
  self.constants.map {|sym| "#{self.name}::#{sym.to_s}".constantize}
end
prefix() click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 17
def prefix
  DynamicModel::ManagedDomains.to_hash[self]
end
scoped_table_names() click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 13
def scoped_table_names
  table_names.map{|table_name| table_name.gsub /^#{prefix}_/, ''}
end
table_names() click to toggle source
# File lib/database_introspection/dynamic_model/domain_extension.rb, line 9
def table_names
  ActiveRecord::Base.connection.tables.grep(/^#{prefix}_/)
end