超今さら初めてのgisty
gisty を知ったのはもう記憶にもないくらい昔だし、直接勧められたのは
Twitter / ゆーけー/赤松 祐希: @wtnabe gistにプロダクトコードとテストコ …
なんと3月なので9ヶ月前という体たらくでございますが、ようやく使ってみました < gisty
必要な準備
- gisty gem
- GISTY_DIR
- git の config
- 使っている Ruby が参照できる OpenSSL 証明書
gisty を使うには clone する場所を環境変数で指定しておく。post するだけでも同時に clone するので GISTY_DIR の指定は必須である。
また、git の config は最終的にこんな形になればよい。
[github]
user = USERNAME
token = XXXXXXXXXXXXXXXXXXXXXXX
いずれにしてもエラーメッセージを見ればどうすればよいかは分かるので簡単。
実は、4 でハマった。
Ruby の参照できる OpenSSL 証明書
なんかこれ前にもハマった気がするんだけど、今回は Mac OSX でどうやって解決したか。
gistyをMacから使う - Dive into the Tech World!
を見ると
$ ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
で、どのファイルを見に行っているか分かる。見るとそこには何もファイルがない。
FreeBSD のとき(Ruby の SSL の証明書検証の失敗でハマっていた - あーありがち(2010-01-14))には ca_root 関係の ports があったけど、MacPorts にはないっぽい。それっぽいのは
$ port search cert
curl-ca-bundle @7.21.2 (net)
CA certificate bundle for curl
なので、これを入れて
/opt/local/etc/openssl/cert.pem@ ->
/opt/local/share/curl/curl-ca-bundle.crt
の link を張って対処。
使い方
$ gisty help
で確認できる。(gisty –help ではない。)
gisty post *
としてできあがったのがコレ。
gist: 748375 - fabrication with faker and forgery- GitHub
ふー。長かった。
gisty syncに注意
gisty sync は自分の作った gist 全部を local に clone しようとする。その際、
1回1回鍵の passphrase を聞かれる。
自分は普段 ssh-agent とか使わないのでものすごく面倒になって途中でやめてしまった。
sync の際には ssh-agent や keychain を活用すべし。