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