Module: DynamicActiveModel::Explorer
- Defined in:
- lib/dynamic-active-model/explorer.rb
Overview
DynamicActiveModel::Explorer creates models and relationships
Class Method Summary collapse
- .build_relationships!(database, relationships) ⇒ Object
- .create_models!(base_module, connection_options, skip_tables) ⇒ Object
- .explore(base_module, connection_options, skip_tables = [], relationships = {}) ⇒ Object
Class Method Details
.build_relationships!(database, relationships) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/dynamic-active-model/explorer.rb', line 22 def self.build_relationships!(database, relationships) relations = Associations.new(database) relationships.each do |table_name, foreign_keys| foreign_keys.each do |foreign_key, relationship_name| relations.add_foreign_key(table_name, foreign_key, relationship_name) end end relations.build! end |
.create_models!(base_module, connection_options, skip_tables) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/dynamic-active-model/explorer.rb', line 12 def self.create_models!(base_module, , skip_tables) database = Database.new(base_module, ) skip_tables.each do |table_name| table_name = Regexp.new("^#{table_name}") if table_name.include?('*') database.skip_table(table_name) end database.create_models! database end |
.explore(base_module, connection_options, skip_tables = [], relationships = {}) ⇒ Object
6 7 8 9 10 |
# File 'lib/dynamic-active-model/explorer.rb', line 6 def self.explore(base_module, , skip_tables = [], relationships = {}) database = create_models!(base_module, , skip_tables) build_relationships!(database, relationships) database end |