Module: Multiverse

Defined in:
lib/multiverse.rb,
lib/multiverse/patches.rb,
lib/multiverse/railtie.rb,
lib/multiverse/version.rb,
lib/multiverse/generators.rb,
lib/generators/multiverse/db_generator.rb

Defined Under Namespace

Modules: Connection, DatabaseTasks, Generators, Migration, Migrator, SchemaDumper Classes: Railtie

Constant Summary collapse

VERSION =
"0.0.3"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.dbObject



10
11
12
# File 'lib/multiverse.rb', line 10

def db
  @db ||= ENV["DB"]
end

Class Method Details

.db_dirObject



14
15
16
17
18
# File 'lib/multiverse.rb', line 14

def db_dir
  db_dir = db ? "db/#{db}" : "db"
  abort "Unknown DB: #{db}" if db && !Dir.exist?(db_dir)
  db_dir
end

.env(environment) ⇒ Object



34
35
36
# File 'lib/multiverse.rb', line 34

def env(environment)
  db ? "#{db}_#{environment}" : environment
end

.migrate_pathObject



30
31
32
# File 'lib/multiverse.rb', line 30

def migrate_path
  "#{db_dir}/migrate"
end

.parent_class_nameObject



20
21
22
# File 'lib/multiverse.rb', line 20

def parent_class_name
  db ? "#{db.camelize}Record" : "ApplicationRecord"
end

.record_classObject



24
25
26
27
28
# File 'lib/multiverse.rb', line 24

def record_class
  record_class = parent_class_name.safe_constantize
  abort "Missing model: #{parent_class_name}" unless record_class
  record_class
end