Module: SecondBase
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- lib/second_base.rb,
lib/second_base/base.rb,
lib/second_base/forced.rb,
lib/second_base/on_base.rb,
lib/second_base/railtie.rb,
lib/second_base/version.rb,
lib/rails/second_base/generators/migration_generator.rb
Defined Under Namespace
Modules: Forced
Classes: Base, MigrationGenerator, Railtie
Constant Summary
collapse
- VERSION =
File.read(File.expand_path("../../../VERSION", __FILE__)).chomp
Class Method Summary
collapse
Class Method Details
.config(env = nil) ⇒ Object
15
16
17
18
|
# File 'lib/second_base.rb', line 15
def self.config(env = nil)
config = Rails.application.config.database_configuration[Railtie.config_key]
config ? config[env || Rails.env] : nil
end
|
.on_base ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/second_base/on_base.rb', line 6
def self.on_base
already_on_base = is_on_base
if already_on_base
yield
return
end
original_config = ActiveRecord::Tasks::DatabaseTasks.current_config
original_configurations = Rails.application.config.database_configuration
original_migrations_path = ActiveRecord::Tasks::DatabaseTasks.migrations_paths
original_db_dir = ActiveRecord::Tasks::DatabaseTasks.db_dir
ActiveRecord::Tasks::DatabaseTasks.current_config = config
ActiveRecord::Base.configurations = original_configurations[Railtie.config_key]
ActiveRecord::Base.establish_connection(config)
ActiveRecord::Tasks::DatabaseTasks.migrations_paths = [SecondBase::Railtie.fullpath('migrate')]
ActiveRecord::Tasks::DatabaseTasks.db_dir = SecondBase::Railtie.fullpath
ActiveRecord::Migrator.migrations_paths = ActiveRecord::Tasks::DatabaseTasks.migrations_paths
self.is_on_base = true
yield
ensure
unless already_on_base
ActiveRecord::Base.configurations = original_configurations
ActiveRecord::Tasks::DatabaseTasks.migrations_paths = original_migrations_path
ActiveRecord::Tasks::DatabaseTasks.db_dir = original_db_dir
ActiveRecord::Migrator.migrations_paths = ActiveRecord::Tasks::DatabaseTasks.migrations_paths
ActiveRecord::Tasks::DatabaseTasks.current_config = original_config
ActiveRecord::Base.establish_connection(original_config)
self.is_on_base = false
end
end
|