lib/sequel_rails/configuration.rb in sequel-rails-0.5.1 vs lib/sequel_rails/configuration.rb in sequel-rails-0.6.0
- old
+ new
@@ -21,10 +21,15 @@
attr_reader :root, :raw
attr_accessor :logger
attr_accessor :migration_dir
+ def initialize(root, database_yml_hash)
+ super()
+ @root, @raw = root, database_yml_hash
+ end
+
def environment_for(name)
environments[name.to_s] || environments[name.to_sym]
end
def environments
@@ -37,21 +42,20 @@
def schema_dump
super.nil? ? (schema_dump = default_schema_dump) : super
end
+ def load_database_tasks
+ super.nil? ? (load_database_tasks = true) : super
+ end
+
private
def default_schema_dump
not %w(test production).include? Rails.env
end
- def initialize(root, database_yml_hash)
- super()
- @root, @raw = root, database_yml_hash
- end
-
def normalize_repository_config(hash)
config = {}
hash.each do |key, value|
config[key.to_s] =
if key.to_s == 'port'
@@ -84,11 +88,11 @@
# override max connections if requested in app configuration
config['max_connections'] = max_connections if max_connections
config['search_path'] = search_path if search_path
# some adapters only support an url
- if config['adapter'] && config['adapter'] =~ /^(jdbc|do):/
+ if config['adapter'] && config['adapter'] =~ /^(jdbc|do):/ && !config.has_key?('url')
params = {}
config.each do |k, v|
next if ['adapter', 'host', 'port', 'database'].include?(k)
if k == 'search_path'
v = v.split(',').map &:strip unless v.is_a? Array
@@ -96,10 +100,10 @@
end
params[k] = v
end
params_str = params.map { |k, v| "#{k}=#{v}" }.join('&')
port = config['port'] ? ":#{config['port']}" : ''
- config['url'] = case config['adapter']
+ config['url'] ||= case config['adapter']
when /sqlite/
"%s:%s" % [config['adapter'], config['database']]
else
"%s://%s%s/%s?%s" % [config['adapter'], config['host'], port, config['database'], params_str]
end