ふぁぼられたらGrowlでお知らせする「ふぁぼられったー for Mac」を作ってみた

nokogiriとMeowを使った習作として作ってみた。最終的にはデーモン化までするつもりだったけど、なんだか飽きてきたのでとりあえず公開。
気が向いたらデーモン化までやってGitHubにgemをアップするつもり

動作イメージ

以下のような感じで通知されます

http://gyazo.com/4a2e8084ce5c94c9e45b8439d934c716.png

通知をクリックしたら、そのふぁぼられページをブラウザで開きます

http://gyazo.com/67af5b298191f05455a15c0e1519403b.png

コード


動作に必要なもの

nokogiri

Rubyでお手軽にスクレイピングするためのライブラリ。まだ入ってなければ以下のとおりインストール。

$ gem install nokogiri
Meow

RubyからGrowl通知するためのライブラリ。以下のようにインストール

$ gem install meow
RubyCocoa

Meowを使うために必須。Leopardだとデフォルトで入っているやつでオーケー

Mac ports でインストールしたやつだと、multi thred がなんちゃらっておこられてしまったので、ソースからビルドする必要があった。そのへんの情報については以下を参照。

使い方

1.上記コードを適当なディレクトリに落とす
$ mkdir favoraretter
$ cd favoraretter
$ wget http://gist.github.com/raw/133443/bf12f8de0174debb664a088ec1cb90ce259b66cf/favoraretter.rb
$ wget http://gist.github.com/raw/133443/cb9066db1bef5872b249dac8f0edd20ce529e161/setup.sh

wgetコマンドが無ければ手作業で..

2.アイコン格納用ディレクトリを作成

wgetコマンドがあれば、2,3の手順は添付のsetup.shを実行するだけでOK。無ければ以下の手順を手作業で..

$ mkdir icons
3.デフォルトアイコンを用意

PNG,JPEG,GIF,ICO とかであれば問題無いみたい。適当なアイコンを見繕って、iconsディレクトリに__favoraretter_icon__という名前で格納しておく。

4.実行
$ ruby favoraretter.rb <user_id> &

<user_id>はふぁぼられを監視したいユーザのID
このIDを省略した場合、ふぁぼったーのトップページに表示されている新着のふぁぼられがが通知される。

ToDo

  • デーモンプロセス化
  • gemでパッケージング
  • 起動/停止のコマンド提供
  • OS起動と同時にデーモンプロセスを起動するように
  • アイコンはオリジナルのものを使うようにする

追記:2009.6.21 不具合あり修正中

デフォルトのアイコンが無いと動かないめちょっと修正中です...

追記:2009.6.21(2) setup.sh追加

デフォルトのアイコンが無いと最初の起動ができないのでそれを用意するシェルスクリプトを添付しました。

$ sh ./setup.sh

という感じで実行すると、ふぁぼったーのfaviconをデフォルトのアイコンとして使用するようになります。
また、iconsディレクトリも作ってくれます。