ActionMailer::Base.deliveriesに格納される内容

Ruby on Railsでメール送信部分のテストをする方法については、Testing Your Mailersに書かれている。

そこでは、、送信したメールのテストにはActionMailer::Base.deliveriesをチェックしてねと書いてある。

 

が、いきなり登場したActionMailer::Base.deliveriesについて、この中身は何なのか?という説明がされていない。

そんなものだから、テストをデバッグモードで実行して、ActionMailer::Base.deliveriesに何が格納されるのかを確かめるハメになった。

 

確かめた結果、ActionMailer::Base.deliveriesには、Mail::Messageクラスのインスタンスの配列が格納されていた。

 

このMail::Messageクラスは、ActionMailerで定義されているのではないからActionMailerのソースを探しても見つけることはできない。

mailというgemの中で定義されている。

 

APIについてのライブラリドキュメントがWEB上に無いので、gem install mailしたときにローカルに作成されたrdocを参照することになる。

 
 

ruby1.9がデフォルトのパスにインストールされていてwindowsでmailのgemバージョンが2.4.4なら
C:\Ruby193\lib\ruby\gems\1.9.1\doc\mail-2.4.4\rdoc
ここにあるよっと。

 
 

ローカルに情報があるのにWEB上の情報を参照したいという思考が働くのは、インターネット環境が普及した現代ならではの贅沢病なのだろうか。。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=1774