読者です 読者をやめる 読者になる 読者になる

babie steps

作業療法記録

update_profile - Twitterユーザー情報を更新するEarthquakeプラグインを書いた

env ruby earthquake 1r/d

Updated update_profile - Twitterのユーザー情報を更新するEarthquakeプラグインをアップデートしたをお読みください!

今日で1日1リリース、3日目!
寝込んでて9:30から作業始めたんですけど間に合いました!

予告通り、Earthquakeプラグインを作りました。

今日のプラグインは、 名前やバイオを手軽に更新したかったでござる。:bio ほげほげみたいな感じで。

インストール

:plugin_install https://gist.github.com/babie/7076697

設定

ZeroConfでございます。

使い方

:name 我々はボーグだ
⚡ :description お前たちは同化される。抵抗は無意味だ。
⚡ :url http://ja.memory-alpha.org/wiki/%E5%90%8C%E5%8C%96:location 浮遊機械都市
⚡ :me
{
...
              "name" => "我々はボーグだ",
...
       "description" => "お前たちは同化される。抵抗は無意味だ。",
               "url" => "http://t.co/ks4Wv00N9P",
          "location" => "浮遊機械都市",
...
}

みたいな感じっす。:bio:descriptionエイリアスになっております。長いので。上では特に付け足しませんでしたが、yes/no聞かれるんで安心して打ってください。
:me:user #{twitter.info['screen_name']}の略です。確認するのにめんどかったので入れた。
:screen_nameの更新はnoを優先で入れようか迷ったけど、重大すぎるので入れるのやめました。

コード

update_profile.rb

descriptionの複数行入力はEarthquakeの:updateコマンドからパクってきたんだけど、前々回のauto_restart プラグインみたいに入力がおかしかったのでsttyコマンドを挟んでます。

  • stty icrnlは「復帰キャラクタを改行キャラクタに変換する」で、\rを\nに変換
  • stty brkintは「ブレークによって割り込みシグナルを発生する」で、\Dを表示するんじゃなくてINTシグナルに変換

して対処してますん。
なんか俺の端末がおかしいっぽいな。プログラム起動するとstty設定忘れるんじゃろか?

class_evalはプラグイン読み込みに便利ですねぇ。

今後

現在は:name ほげほげとかで更新できるようになってるけど、:name(引数なし)の時はただの表示にした方がいいかも。んで更新は:update_name ほげほげに変える。オリジナルコマンドとの整合性的に言っても。長いのが嫌で現状こうなってんだけど、そこは各ユーザーにエイリアス張ってもらう方がいいのかもしれん。
あと:meは別プラグインに分けた方がいいだろうなぁ。名前被ってるプラグインコマンドも散見されるし:myselfにリネームしようかなぁ。

次回予告

3日坊主回避できるかな?
まだEarthquakeプラグインのネタ残ってんだけど、ちょっと趣向を変えてコマンドラインでも作ってみようかな。