Gistから最新リビジョンを取得する

screenshot_from_2016-10-23-145558

こんにちは、Pythonエンジニア見習いです。
Gist便利ですよね。Gistに置いておけば、curl等でコードを取得できます。
私は、わざわざリポジトリを作るまでもないようなコード片を共有したり、開発環境構築スクリプト等
を置いておくのによく使います。

今回はGistから最新リビジョンを取得する方法について書きます。

curlを叩いてGistを取得する

例えば、以下のGistからe0f8215ac6c254513bd2c016532f301ee7ca9101で示されるリビジョンのコードを取得したい場合は

curl https://gist.githubusercontent.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22/raw/e0f8215ac6c254513bd2c016532f301ee7ca9101/recipe_set

と打ちます。

しかし、このままではこのGistを編集した場合それを取得できません。

最新リビションを取得する

How do I get the raw version of a gist from github?
を参考にすると、URLからリビジョンのハッシュ値を取り除けば、常に最新バージョンになるようです。
つまり、コマンドは以下のようになります。

curl https://gist.githubusercontent.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22/raw/recipe_set

ちなみに、このGistは晩御飯のレシピ集なので、以下のようなワンライナーをcron.daily等に登録しておけば、毎日晩御飯のメニュー
を決めて、Slackに投稿してくれます。

curl -sS -XPOST -d token=$SLACK_TOKEN -d channel=$SLACK_USER_NAME -d text="$(curl -sS https://gist.githubusercontent.com/IlIlIlIl/8d9ca8ca359dfa928a60e519c75fbd22/raw/recipe_set | shuf | head -1 | cut -f1 -d,)" https://slack.com/api/chat.postMessage"