Sha256: 4e9be3c213281dd56d1dc48678c3582ed3ccc655e0b55dec2ff0f9fe2de601d1
Contents?: true
Size: 946 Bytes
Versions: 1
Compression:
Stored size: 946 Bytes
Contents
module ActiveRecord class Relation def calculate_with_slave_connection(operation, column_name, options = {}) FreshConnection::SlaveConnection.manage_access(@klass, (go_slave? && options[:readonly] != false)) do calculate_without_slave_connection(operation, column_name, options) end end alias_method_chain :calculate, :slave_connection private def exec_queries_with_slave_connection return @records if loaded? FreshConnection::SlaveConnection.manage_access(@klass, go_slave?) do exec_queries_without_slave_connection end end alias_method_chain :exec_queries, :slave_connection if Rails.version.to_f > 3 def go_slave? connection.open_transactions == 0 && (readonly_value.nil? || readonly_value) end else def go_slave? connection.open_transactions == 0 && (@readonly_value.nil? || @readonly_value) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fresh_connection-0.1.4 | lib/fresh_connection/active_record/relation.rb |