diff options
author | Eileen M. Uchitelle <eileencodes@users.noreply.github.com> | 2018-12-12 07:43:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-12 07:43:37 -0500 |
commit | beb63b24594ff30a4aa12cc6ef20e60c647434dd (patch) | |
tree | 1fea9984c363976357c67384d67abd8c88340583 /activerecord/lib | |
parent | c4f37cc8c5a3b1de5746146a0f65b22d418cfef4 (diff) | |
parent | b67a3f5cac4d58c4fd55f1d41a203277aed94041 (diff) | |
download | rails-beb63b24594ff30a4aa12cc6ef20e60c647434dd.tar.gz rails-beb63b24594ff30a4aa12cc6ef20e60c647434dd.tar.bz2 rails-beb63b24594ff30a4aa12cc6ef20e60c647434dd.zip |
Merge pull request #34680 from jhawthorn/connected_to_question
Add ActiveRecord::Base.connected_to?
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_handling.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_handling.rb b/activerecord/lib/active_record/connection_handling.rb index 3ce9aad5fc..558cdeccf2 100644 --- a/activerecord/lib/active_record/connection_handling.rb +++ b/activerecord/lib/active_record/connection_handling.rb @@ -130,6 +130,29 @@ module ActiveRecord end end + # Returns true if role is the current connected role. + # + # ActiveRecord::Base.connected_to(role: :writing) do + # ActiveRecord::Base.connected_to?(role: :writing) #=> true + # ActiveRecord::Base.connected_to?(role: :reading) #=> false + # end + def connected_to?(role:) + current_role == role.to_sym + end + + # Returns the symbol representing the current connected role. + # + # ActiveRecord::Base.connected_to(role: :writing) do + # ActiveRecord::Base.current_role #=> :writing + # end + # + # ActiveRecord::Base.connected_to(role: :reading) do + # ActiveRecord::Base.current_role #=> :reading + # end + def current_role + connection_handlers.key(connection_handler) + end + def lookup_connection_handler(handler_key) # :nodoc: connection_handlers[handler_key] ||= ActiveRecord::ConnectionAdapters::ConnectionHandler.new end |