おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

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