2008-08-21
■ [ruby][mac] RubyからGrowlに通知するためのライブラリ、Meow (とGrowlNotifier)
ruby-talkを眺めてたらMeowというライブラリのリリース案内が。なんでもGrowlにRubyから通知を送れるらしい。
というわけでやってみた。
ちょwwwこれ簡単すぎるんだがwww
インストール
とりあえずRubyCocoaが必要。
==MacPortsでrubyを入れてる場合、RubyCocoaもportで入れたいわけだが(rb-cocoa)、「ドキュメントがもう入ってるよ」とか言われてインストールできない。 仕方ないので僕は元のドキュメントをリネームして対処した(いいのかそんなので)。== (8/25追記: 普通に port install rb-cocoa で入るようになったようです!)
Meowの方は普通に gem install meow でOK。
使ってみる
基本的な使い方は
meep = Meow.new('Meow Test') meep.notify('Title', 'Description')
こんだけです!
通知をクリックしたときの処理を指定したい場合は、
meep.notify('Click Me', 'Do it!') do open "http://example.jp" # open browser end
こんな感じで。
ライバルとか
某所でGrowlNotifierというライブラリもあるよと教えてもらった。 Mac版LimechatからGrowl通知部分を切り出してライブラリにしたものらしい。
Meowよりは複雑だけど、タイムアウトしたときの処理も書けるとかいろいろ高機能っぽい。 あと、RubyCocoa的にちゃんとしてそう(笑)。
自作のRubyCocoaアプリに組み込むならGrowlNotifier、ちょっとしたスクリプトを書くだけならMeowがいいんじゃないかな。
作ってみる
せっかくなので、こっそりアンケートβに新着アンケートが来たらgrowlに通知するスクリプトを書いてみた。
~/.kosoanというファイルに
mail: foo@example.jp password: asdffdsa
のように書いて、ruby kosoan_watch.rbで起動。10分ごとに新着チェックして、答えられるアンケートが来たらGrowlに通知される。
WWW::Mechanizeを使ってるので、gem install mechanizeが必要。
誰かはてなアンケート版も書いてくれると嬉しいなぁ。「20代男性」とか条件を設定できる感じで。
rb-cocoaメンテナです。インストールの件、修正しました。<br>ドキュメントはたぶん同じ内容なので移動しても問題はありません。
おお、ありがとうございます!追記しておきました。