class Stealth::Migrations::Configurator

Public Class Methods

environments_config() { |proxy| ... } click to toggle source
# File lib/stealth/migrations/configurator.rb, line 30
def self.environments_config
  proxy = InternalConfigurationsProxy.new(load_configurations)
  yield(proxy) if block_given?
end
load_configurations() click to toggle source
# File lib/stealth/migrations/configurator.rb, line 23
def self.load_configurations
  self.new
  @env_config ||= Rails.application.config.database_configuration
  ActiveRecord::Base.configurations = @env_config
  @env_config
end
new(options = {}) click to toggle source
# File lib/stealth/migrations/configurator.rb, line 35
def initialize(options = {})
  default_schema = ENV['SCHEMA'] || ActiveRecord::Tasks::DatabaseTasks.schema_file(ActiveRecord::Base.schema_format)
  defaults = {
    config:       "config/database.yml",
    migrate_dir:  "db/migrate",
    seeds:        "db/seeds.rb",
    schema:       default_schema
  }
  @options = defaults.merge(options)

  Rails.application.config.root = Pathname.pwd
  Rails.application.config.paths["config/database"] = config
end

Public Instance Methods

config() click to toggle source
# File lib/stealth/migrations/configurator.rb, line 49
def config
  @options[:config]
end
config_for(environment) click to toggle source
# File lib/stealth/migrations/configurator.rb, line 69
def config_for(environment)
  config_for_all[environment.to_s]
end
config_for_all() click to toggle source
# File lib/stealth/migrations/configurator.rb, line 65
def config_for_all
  Configurator.load_configurations.dup
end
migrate_dir() click to toggle source
# File lib/stealth/migrations/configurator.rb, line 53
def migrate_dir
  @options[:migrate_dir]
end
schema() click to toggle source
# File lib/stealth/migrations/configurator.rb, line 61
def schema
  @options[:schema]
end
seeds() click to toggle source
# File lib/stealth/migrations/configurator.rb, line 57
def seeds
  @options[:seeds]
end