トップ «前の日記(2008-08-20) 最新 次の日記(2008-08-23)» 編集

Route 477



2008-08-21

[ruby][mac] RubyからGrowlに通知するためのライブラリ、Meow (とGrowlNotifier)

ruby-talkを眺めてたらMeowというライブラリのリリース案内が。なんでもGrowlにRubyから通知を送れるらしい。

というわけでやってみた。

aa4461f7a5a4eb37309537fde62667be.png

ちょ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代男性」とか条件を設定できる感じで。

本日のツッコミ(全2件) [ツッコミを入れる]
kimuraw (2008-08-25 01:19)

rb-cocoaメンテナです。インストールの件、修正しました。<br>ドキュメントはたぶん同じ内容なので移動しても問題はありません。

yhara (2008-08-25 13:54)

おお、ありがとうございます!追記しておきました。