もじばけおなう

個人的なメモ

earthquake.gemをMacのローカルで動かす

神様のようなTwitterクライアント、earthquake.gemをMacのローカルで動かすためのまとめです。

この記事のゴールは、
「その辺で買ってきた新品のMacに、Growl通知してくれるearthquake.gemをセットアップするためのメモを残す」
ことです。
Growl通知だけじゃなくて当然Streamもしてくれる状態にしましょう。
ふわっとやるとStreamされなくて:recentを都度叩かないといけなくなります。

丁寧に書くつもりではありますが、
残念ながらXcodeを落とすためのAppleデベロッパー登録部分は端折ります。
だって別にそんなの必要ないじゃんっていうのが本音です。

全体の流れ

Xcodeインストール
Gitでrvm落とす && インストール
rvmでRubyインストール
gemでearthquakeインストール
Growl && growlnotifyインストール

Xcodeインストール

まずはここから。だってgitが必要なんだもの。
gccが必要なんだけどもXcode4.3のgccだとgitにそのgccちげーよ言われるので4.2以下をインストールしましょう。
うっかりAppStoreからインストールしたら面倒なことになります。僕みたいに。

Gitでrvmを落としてインストール

適当なディレクトリをでっちあげてから、

$ git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install

で終わり。
vimとかemacsで、

$HOME/.bashrc

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"]]

を加えておきましょう。

rvmでRubyインストール

earthquake.gemはRuby1.9.2が必要らしいのでrvmにインストールしてあげましょう。
ただ、前述したようにふわっと1.9.2をインストールすると悲しいことになるので、
予めreadlineとopensslをインストールします。

$ rvm pkg install readline
$ rvm pkg install openssl
$ rvm install 1.9.2 --with-open-ssl-dir=$HOME/.rvm/usr --with-readline-dir=$HOME/.rvm/usr

こんな感じ。
opensslのインストールあたりが一番時間かかる気がするのでトイレにでも行けばいいと思います。

gemでearthquakeインストール

まずは先程インストールした1.9.2をuseしましょう。
普段からRubyを使っていてなおかつ1.9.2がデフォルトじゃ死ぬ!とかいう人じゃなければ、

$ rvm use 1.9.2 --default

とかすればいいと思います。

earthquakeをインストールする前に、Rubyのバージョンが1.9.2であることを再度確認しましょう。

$ ruby -v
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin11.3.0]

無事に1.9.2が使えてるっぽかったらOKです。earthquakeをインストールしましょう。

$ gem install earthquake

で。おわり。

$ earthquake

で起動します。
初回起動の際は勝手にtwitterの認証ページが開くかと思います。
面倒ですが、表示されてる数字をearthquakeに入力してあげましょう。

一応、以上で最低限の利用はできるはずです。もちろんstreamされるはずです。

Growl && growlnotifyインストール

リプライされたときとか呼ばれたときに通知してほしい!っていう人はgrowlnotifyが必要です。
なにも難しいことはないですが、LionとLion以前ではインストール方法が違います。

  • Lion以前の場合:

Lion以前といってもSnow Leopardでしか試してないですが、
まずはGrowlを公式サイトから落とし、普通にインストールしてください。
で、そのdmgにこっそりいるEXTRASの中にgrowlnotifyが潜んでます。
同様にインストールしてあげてください。

  • Lion:

Lionの場合はそもそもdmgが異なります。
両方落としてそれぞれインストールしてあげてください。

  • earthquakeに通知してもらう

別にむずかしいことはないです。
作者であるjugyo氏によるプラグインを導入するだけです。
大変残念ながら、僕の環境では何度ためしても:plugin_installコマンドがうまく動かず、
きっぱり諦めてしまいました。だれかたすけて。

ということで、手動でプラグイン導入します。
~/.earthquake/pluginの中に配置する感じです。

https://gist.github.com/899506
ここからソースコードを入手しましょう。
適当なファイル名(例えばkeywords.rb)とかで上記のpluginディレクトリに保存します。

次に通知するキーワード設定します。
ソースコード内にもサンプルが記載されてますが、
僕の場合はtwitterも[twitter:@mojibakeo]なので、

~/.earthquake/config

Earthquake.config[:keyword] = {
  :pattern => /mojibakeo/i,
  :ignore  => %w(hoge),
  :filter  => false,
  :notify  => true
}

こんな感じになります。

ignoreのリストにhogeとか入れとくとstremの表示対象外になるっぽいですけど、
とりあえず僕には不要。
patternの部分に通知してほしいワードを書いとけばいいとおもいます。
複数指定したいなら、

  :pattern => /mojibakeo|foo|bar/i,

とかすればmojibakeo、foo、barに反応してくれるはず。


以上。だいたいこんな感じ。
あとはconfigにエイリアス書いとくだけで超快適。
僕のconfigの一部を晒すと、

Earthquake.alias_command ':r',  ':recent'
Earthquake.alias_command ':rt', ':retweet'
Earthquake.alias_command ':th', ':thread'
Earthquake.alias_command ':u',  ':user'
Earthquake.alias_command ':f',  ':favorite'
Earthquake.alias_command ':d',  ':delete'
Earthquake.alias_command ':s',  ':search'
Earthquake.alias_command ':o',  ':open'
Earthquake.alias_command ':b',  ':browse'

こんな感じにコマンド名をフルで入力しなくてもよいようにしてます。

以上。


じゃあの。