module Octoshark::CurrentConnection
Public Instance Methods
current_connection()
click to toggle source
# File lib/octoshark/current_connection.rb, line 3 def current_connection Thread.current[identifier] || raise(Octoshark::Error::NoCurrentConnection, "No current connection") end
current_connection?()
click to toggle source
# File lib/octoshark/current_connection.rb, line 7 def current_connection? !Thread.current[identifier].nil? end
current_or_default_connection()
click to toggle source
# File lib/octoshark/current_connection.rb, line 11 def current_or_default_connection Thread.current[identifier] || ActiveRecord::Base.connection_pool.connection end
identifier()
click to toggle source
# File lib/octoshark/current_connection.rb, line 21 def identifier @identifier ||= "octoshark_#{object_id}" end
without_connection() { || ... }
click to toggle source
# File lib/octoshark/current_connection.rb, line 15 def without_connection(&block) change_connection_reference(nil) do yield end end
Private Instance Methods
change_connection_reference(connection) { || ... }
click to toggle source
# File lib/octoshark/current_connection.rb, line 26 def change_connection_reference(connection, &block) previous_connection = Thread.current[identifier] Thread.current[identifier] = connection begin yield ensure Thread.current[identifier] = previous_connection end end