gist.rb

gist/gist.rb at 753c59bf3042933074697e1f94b2d5a8b8c3050d · elim/gist · GitHub

もとはこれ。 defunkt/gist · GitHub

何ができるかといえば。

  • 標準入力を gist に入れる
  • 数値の引数を与えると当該番号の gist を標準出力に吐く

id:dzfl が...

  • もとの gist.rb は git config --global github.token の出力を読み込む設計。
  • git config --global の情報は ~/.gitconfig に書かれている。
  • id:dzfl は ~/.gitconfig を公開リポジトリで管理している。
  • だから ~/.gitconfig に token 書きたくない。
  • なんとかして。

というので、fork して弄ってみました。

主立った変更点は...

pit からも token を取れるように

  • --pit
  • ~/.gitconfig に token を書かずに済むようになりました。

optperse を採用

  • ARGV.first 決め打ちのままだと拡張し辛かったので。

匿名での投稿を明示できるように

  • --anonymous
  • .gitconfig 編集も pit 編集も面倒な時に。

実装をモジュールからクラスへ

  • 趣味です。
  • これで require して使う事もできるようになりました*1

各種整理

  • 機能の整理
    • 初期化(Gist#initialize), 読み込み(Gist#read), 書き出し(Gist#write) 以外は外から隠す。
    • 更に ./gist 時にしか使わないコードは if $0 == __FILE__ ... 以降へ追い出し。
    • その中のクリップボード操作を、実行ファイル探すメソッドと、それを呼び出すメソッドに分離したり。

以上です。

case ... end の直後に || を置けるなんて、Ruby は本当に気持ち良いですね*2

皆様も快適な gist 生活を。

追記

ライセンスが明示されていなかったようなので作者の Chris Wanstrath さんにメールで問い合わせています。

追記の追記

何かライセンスに言及した記事でもないかと Chris Wanstrath さんの blog を読みにいきましたところ...

a dude who lives in san francisco, works on github,and pontificates at err the blog.

http://ozmm.org/

...works on github??

慌てて Google で検索実行。

GitHubの開発者のひとりであるChris Wanstrath

http://www.infoq.com/jp/news/2008/03/github-git-repository-hosting

...そういうことははやくいって >_<.

追記の追記の追記

もう返信がきました! メールを出してから 1 時間と経ってない!!

意訳(?)すると

「MIT だよ! 今日ライセンス追加するよ!」

ですって。実際追加になっていました gist/LICENSE at 04e54f8d18101dd8306d121f505882db109b08b1 · defunkt/gist · GitHub

defunkt++ !!

*1:誰がそんな使い方するというのか

*2:読み手のことも考えるとお薦めできませんが ;)