userstampプラグイン

ちょっと今更な感じもしますが、登録/更新したユーザーのIDを自動的に記録をするためのuserstampプラグイン( http://github.com/delynn/userstamp )を実際に仕事で使いたいなーと思ったんですが、モデルに一つ一つメソッドを記述しないくてはいけなかったので、どうにかcreated_at/on, updated_at/on のように自動で使いたいなーと思ってガッツリ作り直しました。
http://github.com/akm/userstamp

テストもRSpecで作り直しました。

ruby script/plugin install git://github.com/akm/userstamp.git 

でインストールして、 config/initializers に userstamp.rb を作って

Userstamp.config.setup.defaults

とか、

Userstamp.config.setup do |config|
    config.with_options(:stamper_class_name => 'User') do |c|
      c.on(:create , :creator_id)
      c.on(:update , :updater_id)
      # c.on(:destroy, :deleter_id)
    end
  end

っていう感じで設定を記述すればあとは自動で動きます。

何か変な動きとかしたら教えてください。

一応、元のプラグインとも互換性があるはず・・・。クラス構造とか変えちゃってますので、ちょっと変更しなきゃいけないかもだけど。
acts_as_paranoid 対応の機能も残してあるので、一緒にインストールされていれば、(デフォルトで)deleter_idとかも設定されますです。

あ、READMEを全然書き直してないや。ま、あとでいいか。

2009/10/28 追記

ここで紹介したUserstampはMagicUserstampに変わりました。今後も更新したらこのブログで告知しますので、以下のリンクから最新をチェックしてください。
http://d.hatena.ne.jp/akm/searchdiary?word=userstamp