あっという間の十年ブログ【Ruby篇】

"詮ずるところ#{プログラミング}は、ただ年月長く倦まずおこたらずして、はげみつとむるぞ肝要にて、学びやうは、いかやうにてもよかるべく、さのみかかはるまじきことなり。いかほど学びかたよくても、おこたりてつとめざれば、功はなし。また、人々の才と不才とによりて、その功いたく異なれども、才不才は、生まれつきたることなれば、力に及びがたし。されど、大抵は、不才なる人といへども、おこたらずつとめだにすれば、それだけの功は有る物なり。" - 本居宣長

Plaggerなるものを入れた

ネットウォッチ2.0を読んでPlaggerなるものを知り、感動した。あやうく寿命を縮めるところだった。
練習ということでまず初めに「ブログの記事をGmailに送信するプログラム」を作ってみようと思ったわけだが、予想以上にハマった(5時間以上の格闘の末、ついにGmailに送信できた)のでその点について簡単にまとめておく。


Plaggerをインストールする

$ sudo cpanm Plagger

Plagger導入
Plaggerをインストールしてもassetsが入っていなかったので、

Plaggerのソースからassetsディレクトリを持ってくると良い、といったことが書いてあったので、CPANサイトからソースをダウンロードして、その中にあるassetsディレクトリをそのまま「~/plagger」に移しました。

Plaggerのassets_pathについて

assets_path: ~/plagger/assets/

だと上手く動いてくれませんでした。

assets_path: /Users/username/plagger/assets/

ならちゃんと動く。

MIME::Liteのバージョンの相違

Plagger::Plugin::Publish::Gmail [error] Error while sending emails: 
Undefined subroutine &MIME::Lite::extract_addrs called 
at C:/Perl/site/lib/Plagger/Plugin/Publish/Gmail.pm line 217.

これを解消するには、「C:/Perl/site/lib/Plagger/Plugin/Publish」にある「Gmail.pm」の217行目と224行目に記載してある「extract_addrs」を「extract_full_addrs」に変更すれば良いです。

Fix Openindiana TLS email in Napp-it
ネットで検索しても日本語で同じようなエラーがなかったのでここで何時間もはまった。多少英語が読めてよかった…。

invalid SSL_version specified at /usr/perl5/site_perl/5.10.0/IO/Socket/SSL.pm line 332

結論:古いバージョンを使う。

install http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-1.68.tar.gz