Module: DynamicModel::DomainExtension
- Defined in:
- lib/database_introspection/dynamic_model/domain_extension.rb
Instance Method Summary collapse
- #add_table(scoped_table_name, &block) ⇒ Object
- #alter_table(scoped_table_name, &block) ⇒ Object
- #model_class(scoped_table_name) ⇒ Object
- #model_classes ⇒ Object
- #prefix ⇒ Object
- #scoped_table_names ⇒ Object
- #table_names ⇒ Object
Instance Method Details
#add_table(scoped_table_name, &block) ⇒ Object
21 22 23 |
# 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) ⇒ Object
25 26 27 |
# 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) ⇒ Object
29 30 31 |
# 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 ⇒ Object
5 6 7 |
# 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 ⇒ Object
17 18 19 |
# File 'lib/database_introspection/dynamic_model/domain_extension.rb', line 17 def prefix DynamicModel::ManagedDomains.to_hash[self] end |
#scoped_table_names ⇒ Object
13 14 15 |
# 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 ⇒ Object
9 10 11 |
# File 'lib/database_introspection/dynamic_model/domain_extension.rb', line 9 def table_names ActiveRecord::Base.connection.tables.grep(/^#{prefix}_/) end |