Class: SequelRails::Configuration
- Inherits:
-
ActiveSupport::OrderedOptions
- Object
- ActiveSupport::OrderedOptions
- SequelRails::Configuration
- Defined in:
- lib/sequel_rails/configuration.rb
Class Method Summary collapse
Instance Method Summary collapse
- #connect(environment) ⇒ Object
- #environment_for(name) ⇒ Object
- #environments ⇒ Object
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/sequel_rails/configuration.rb', line 20 def initialize(*) super self.root = Rails.root self.raw = nil self.logger = Rails.logger self.migration_dir = nil self.schema_dump = default_schema_dump self.load_database_tasks = true self.after_connect = nil end |
Class Method Details
.for(root, database_yml_hash) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/sequel_rails/configuration.rb', line 11 def self.for(root, database_yml_hash) ::SequelRails.configuration ||= begin config = new config.root = root config.raw = database_yml_hash config end end |
Instance Method Details
#connect(environment) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/sequel_rails/configuration.rb', line 46 def connect(environment) normalized_config = environment_for environment if normalized_config['url'] ::Sequel.connect normalized_config['url'], normalized_config else ::Sequel.connect normalized_config end.tap { after_connect.call if after_connect.respond_to?(:call) } end |
#environment_for(name) ⇒ Object
31 32 33 |
# File 'lib/sequel_rails/configuration.rb', line 31 def environment_for(name) environments[name.to_s] || environments[name.to_sym] end |
#environments ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/sequel_rails/configuration.rb', line 35 def environments @environments ||= raw.reduce( # default config - use just the environment variable Hash.new normalize_repository_config({}) ) do |normalized, environment| name, config = environment.first, environment.last normalized[name] = normalize_repository_config(config) normalized end end |