diff --git a/lib/master_slave_adapter/active_record_extensions.rb b/lib/master_slave_adapter/active_record_extensions.rb index 40f5259..f828b6a 100644 --- a/lib/master_slave_adapter/active_record_extensions.rb +++ b/lib/master_slave_adapter/active_record_extensions.rb @@ -1,13 +1,5 @@ ActiveRecord::Base.class_eval do - def reload_with_master( options = nil ) - ActiveRecord::ConnectionAdapters::MasterSlaveAdapter.with_master do - reload_without_master( options ) - end - end - - alias_method_chain :reload, :master - class << self # Call this method to force a block of code to use the master connection @@ -51,18 +43,6 @@ def with_consistency(clock, &block) end end - def transaction_with_master(*args, &block) - if connection.respond_to? :transaction - connection.transaction do - transaction_without_master(*args, &block) - end - else - transaction_without_master(*args, &block) - end - end - alias_method_chain :transaction, :master - - def master_slave_connection( config ) config = config.symbolize_keys raise "You must provide a configuration for the master database - #{config.inspect}" if config[:master].blank? @@ -87,12 +67,31 @@ def master_slave_connection( config ) ActiveRecord::ConnectionAdapters::MasterSlaveAdapter.new(config) end + def transaction_with_master(*args, &block) + if connection.respond_to? :transaction + connection.transaction do + transaction_without_master(*args, &block) + end + else + transaction_without_master(*args, &block) + end + end + alias_method_chain :transaction, :master + def columns_with_master - ActiveRecord::ConnectionAdapters::MasterSlaveAdapter.with_master do + with_master do columns_without_master end end alias_method_chain :columns, :master end + + def reload_with_master(options = nil) + ActiveRecord::Base.with_master do + reload_without_master(options) + end + end + alias_method_chain :reload, :master + end diff --git a/lib/master_slave_adapter/adapter.rb b/lib/master_slave_adapter/adapter.rb index 57d59c9..e1de2d8 100644 --- a/lib/master_slave_adapter/adapter.rb +++ b/lib/master_slave_adapter/adapter.rb @@ -152,9 +152,9 @@ def with_consistency(clock) end def transaction(*args) - puts "