facter という puppetlabs が作っているシステム情報を良い感じに取得する gem があるんだけど、こいつはコマンドラインで使うのは良い物のアプリケーションの内部から Ruby のコードとして呼ぶのは危険っぽいということがわかった。
というのも
https://github.com/puppetlabs/facter/blob/master/lib/facter/ec2.rb
でトップレベルにおもむろに metadata とか userdata といういかにもなメソッドを定義していたり、いきなり LANG=C したりしてるからです。
今日、たまたまた Photo#metadata というモデルを直していてその中で Facter.value('fact_name')
とかしたら、突然 metadata にアクセスしているところがばたばたっと死にだしたので見つかってよかった。今日、こればっか調べていたような気がするな...
s/LANC/LANG/
thanks!