このごろRails周りで作ったもの

このごろ、いろいろ小物を作ってGitHubにおいたりしています。
http://github.org/moro
こっそりおいていたんですが、fork 0、watch 1(オレオレ)という寂しい状況が続いていますので、流石にご紹介したくなってきました。興味のある方がいればRails勉強会でお話しします。

logger_exception_format

RailsのLoggerがExceptionのバックトレースを潰していてムッとしたので作りました。どういうことかといえば、こういうスクリプトがあって、

こういう出力になるのが気にくわなく。

--------------------------------------------------------------------------------
| before loading ActiveSupport
--------------------------------------------------------------------------------
D, [2009-03-13T17:42:27.194797 #15626] DEBUG -- : Catch me. (RuntimeError)
/tmp/foo.rb:9:in `log_exception'
/tmp/foo.rb:18
--------------------------------------------------------------------------------
| after loading ActiveSupport
--------------------------------------------------------------------------------
#<RuntimeError: Catch me.>
--------------------------------------------------------------------------------
| with ActiveSupport::BufferedLogger
--------------------------------------------------------------------------------
Catch me.

素のLoggerぽくなるようにBufferedLoggerへモンキーパッチを当てるプラグインです。

my_cutagem_template

id:cho45さんが作って、瀧内さんも多少手を入れているcutagemというツールがあります。これは、Rubyのライブラリを作るときに、テストやRakefileのひな形を用意してくれるというナイスなツールで、ぼくも便利に使わせてもらってます。

自作テンプレートも使えるので、Railsプラグインを作るのを念頭に置いて自分の好みに合うようにカスタマイズしたヤツを公開しました。具体的には

repim

最近一番頑張ってるヤツです。由来はRElying Party In MinutesということでRPを5分くらいで作れるようにするプラグインを目指してます。
open_id_authenticationは便利ではあるんですが、ホントに認証部分だけなので、その周辺のコントローラとかビュートかを整備したいと思って作りました。認証部分はopen_id_authenticationに依存しています(アレもgemにしたい。

いちおう、ジェネレータだけで

  • OpenIDのログインフォーム表示
  • OpenIDで認証
  • claimed_urlを持っているユーザが居なければサインアップ画面へ。
  • claimed_urlを持っているユーザがいればログインするよ。

というのまではできてます。ジェネレータの分離とか、Cuke用のstep_definitionの整備とか、もう少しいろいろ作業したいなと思います。

scope_do

あとは、前にも言ったscope_doでちょっとおもしろい機能を考えています。
http://github.com/moro/scope_do/tree/reference_scope
このへんのブランチに興味のある方がいれば相談しましょう。

ということで、最近はこんなことをしてますよ、というご報告でした。「このうちどれかは役に立った」というかたでまだDropboxを使っていないという方は下のエントリもご覧ください。Dropbox使ってるよというかたははて☆すたでも。