diff options
author | Matthew Draper <matthew@trebex.net> | 2014-04-08 15:00:38 +0930 |
---|---|---|
committer | Matthew Draper <matthew@trebex.net> | 2014-04-08 15:15:07 +0930 |
commit | 23692184bbcc2e411ed6bc6d1eaea09aa0f0474f (patch) | |
tree | 97399058a87978e8c87871abbff5763f7885c890 /activerecord/lib | |
parent | de9f2f63b8548e2a8950c1727f0a1a6893713505 (diff) | |
download | rails-23692184bbcc2e411ed6bc6d1eaea09aa0f0474f.tar.gz rails-23692184bbcc2e411ed6bc6d1eaea09aa0f0474f.tar.bz2 rails-23692184bbcc2e411ed6bc6d1eaea09aa0f0474f.zip |
Give a deprecation message even when the lookup fails
If the supplied string doesn't contain a colon, it clearly cannot be a
database URL. They must have intended to do a key lookup, so even though
it failed, give the explanatory deprecation warning, and raise the
exception that lists the known configs.
Conveniently, this also simplifies our logical behaviour: if the string
matches a known configuration, or doesn't contain a colon (and is
therefore clearly not a URL), then we output a deprecation warning, and
behave exactly as we would if it were a symbol.
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/connection_specification.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/connection_specification.rb index e0715f7ce9..0cc92fa397 100644 --- a/activerecord/lib/active_record/connection_adapters/connection_specification.rb +++ b/activerecord/lib/active_record/connection_adapters/connection_specification.rb @@ -220,10 +220,10 @@ module ActiveRecord # an environment key or a URL spec, so we have deprecated # this ambiguous behaviour and in the future this function # can be removed in favor of resolve_url_connection. - if configurations.key?(spec) + if configurations.key?(spec) || spec !~ /:/ ActiveSupport::Deprecation.warn "Passing a string to ActiveRecord::Base.establish_connection " \ "for a configuration lookup is deprecated, please pass a symbol (#{spec.to_sym.inspect}) instead" - resolve_connection(configurations[spec]) + resolve_symbol_connection(spec) else resolve_url_connection(spec) end |