FreshConnectionのSlaveのconnection管理方法を変更可能にしました
FreshConnectionのバージョン0.1.2 をリリースしました。三日連続でしょうか。
https://github.com/tsukasaoishi/fresh_connection/tree/v0.1.2
以下の点が変更されています。
■master_clear_connectionの廃止。
つまりmasterへの接続に関してはデフォルトの挙動のままです。
■slaveのconnectionを管理するロジックを別クラスに分離。
FreshConnection::ConnectionManagerというクラスにロジックを分離しました。この、slaveのconnectionを管理するクラスは自作のものを指定可能です。
config/initializers/fresh_connection.rbなどで
FreshConnection::SlaveConnection.connection_manager = MySlaveConnection
と指定するだけ。この自作の管理クラスは以下のふたつのインスタンスメソッドを必ず用意しておかなければなりません。
def slave_connection
# ActiveRecord::ConnectionAdapters::Mysql2Adapterのインスタンスオブジェクトを返します。
# これは、slaveへアクセスする必要が出たときに必ず呼ばれるメソッドです。
end
def put_aside!
# Railsのアクション終了後に呼ばれるメソッドです。後処理等を行います。
end
二週間前に買ったダイニングテーブルが届いて、それ以来その上でプログラミングをしているのですが、明らかにプログラミングの効率がよくなっています。書斎の机でやるよりもです。娘の子守をしつつ保守対応をしつつプログラミングをしていたのですが、普段だったらバージョン0.1.0もリリースできていなかったに違いない。
http://rubygems.org/gems/fresh_connection
それにしてもリリースしたとたんにダウンロードされているんだけどどういうことなんだろう。そういうボットでもいるのかな。