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.
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/sequel_rails/configuration.rb', line 22 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
13 14 15 16 17 18 19 20 |
# File 'lib/sequel_rails/configuration.rb', line 13 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
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/sequel_rails/configuration.rb', line 45 def connect(environment) normalized_config = environment_for environment db = if normalized_config['url'] ::Sequel.connect normalized_config['url'], normalized_config else ::Sequel.connect normalized_config end after_connect.call if after_connect.respond_to?(:call) db end |
#environment_for(name) ⇒ Object
33 34 35 |
# File 'lib/sequel_rails/configuration.rb', line 33 def environment_for(name) environments[name.to_s] || environments[name.to_sym] end |
#environments ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/sequel_rails/configuration.rb', line 37 def environments @environments ||= raw.inject({}) do |normalized, environment| name, config = environment.first, environment.last normalized[name] = normalize_repository_config(config) normalized end end |