class StandaloneMigrations::Configurator
Public Class Methods
environments_config() { |proxy| ... }
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 26 def self.environments_config proxy = InternalConfigurationsProxy.new(load_configurations) yield(proxy) if block_given? end
load_configurations()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 21 def self.load_configurations @standalone_configs ||= Configurator.new.config @environments_config ||= YAML.load(ERB.new(File.read(@standalone_configs)).result).with_indifferent_access end
new(options = {})
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 31 def initialize(options = {}) defaults = { :config => "db/config.yml", :migrate_dir => "db/migrate", :seeds => "db/seeds.rb", :schema => "db/schema.rb" } @options = load_from_file(defaults.dup) || defaults.merge(options) ENV['SCHEMA'] = ENV['SCHEMA'] || File.expand_path(schema) end
Public Instance Methods
config()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 42 def config @options[:config] end
config_for(environment)
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 62 def config_for(environment) config_for_all[environment] end
config_for_all()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 58 def config_for_all Configurator.load_configurations.dup end
migrate_dir()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 46 def migrate_dir @options[:migrate_dir] end
schema()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 54 def schema @options[:schema] end
seeds()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 50 def seeds @options[:seeds] end
Private Instance Methods
configuration_file()
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 68 def configuration_file if !ENV['DATABASE'] ".standalone_migrations" else ".#{ENV['DATABASE']}.standalone_migrations" end end
load_from_file(defaults)
click to toggle source
# File lib/standalone_migrations/configurator.rb, line 76 def load_from_file(defaults) return nil unless File.exists? configuration_file config = YAML.load( ERB.new(IO.read(configuration_file)).result ) { :config => config["config"] ? config["config"]["database"] : defaults[:config], :migrate_dir => (config["db"] || {})["migrate"] || defaults[:migrate_dir], :seeds => (config["db"] || {})["seeds"] || defaults[:seeds], :schema => (config["db"] || {})["schema"] || defaults[:schema] } end