lib/replidog/proxy.rb in replidog-1.1.0 vs lib/replidog/proxy.rb in replidog-1.1.1
- old
+ new
@@ -32,19 +32,27 @@
def current_connection_name=(connection_name)
Thread.current['replidog.current_connection_name'] = connection_name
end
def transaction(options = {}, &block)
- old = current_connection_name
+ old_connection_name = current_connection_name
self.current_connection_name ||= :master
current_connection.transaction(options, &block)
ensure
- self.current_connection_name = old
+ self.current_connection_name = old_connection_name
end
+ def lock(locks = true)
+ old_connection_name = current_connection_name
+ self.current_connection_name ||= :master
+ current_connection.lock(locks)
+ ensure
+ self.current_connection_name = old_connection_name
+ end
+
def connected?
- current_model.connected_without_replidog? && slave_connection_pool_table.values.any?(&:connected?)
+ current_model.connection_handler.connected?(current_model) && slave_connection_pool_table.values.any?(&:connected?)
end
def clear_active_slave_connections!
slave_connection_pool_table.each_value do |pool|
pool.release_connection
@@ -119,10 +127,10 @@
slave_connection_pool_table[current_connection_name.to_s].try(:connection) or raise_connection_not_found
end
end
def master_connection
- current_model.connection_without_replidog
+ current_model.retrieve_connection
end
def slave_connection
slave_connection_pool.connection
end