FreshConnectionのSlaveのconnection管理方法を変更可能にしました

Tsukasa OISHI

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
それにしてもリリースしたとたんにダウンロードされているんだけどどういうことなんだろう。そういうボットでもいるのかな。