lib/sequel_rails/configuration.rb in sequel-rails-0.6.1 vs lib/sequel_rails/configuration.rb in sequel-rails-0.7.0
- old
+ new
@@ -3,16 +3,11 @@
module SequelRails
mattr_accessor :configuration
def self.setup(environment)
- config = configuration.environment_for(environment.to_s)
- if config['url']
- ::Sequel.connect config['url'], config
- else
- ::Sequel.connect config
- end
+ configuration.connect environment
end
class Configuration < ActiveSupport::OrderedOptions
def self.for(root, database_yml_hash)
@@ -30,10 +25,11 @@
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
def environment_for(name)
environments[name.to_s] || environments[name.to_sym]
end
@@ -42,9 +38,20 @@
@environments ||= raw.inject({}) do |normalized, environment|
name, config = environment.first, environment.last
normalized[name] = normalize_repository_config(config)
normalized
end
+ end
+
+ 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
private
def default_schema_dump