module DynamicActiveModel::Explorer

DynamicActiveModel::Explorer creates models and relationships

Public Class Methods

build_relationships!(database, relationships) click to toggle source
# 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) click to toggle source
# File lib/dynamic-active-model/explorer.rb, line 12
def self.create_models!(base_module, connection_options, skip_tables)
  database = Database.new(base_module, connection_options)
  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 = {}) click to toggle source
# File lib/dynamic-active-model/explorer.rb, line 6
def self.explore(base_module, connection_options, skip_tables = [], relationships = {})
  database = create_models!(base_module, connection_options, skip_tables)
  build_relationships!(database, relationships)
  database
end