require 'rake'するとshというメソッドが定義される。内部ではKernel.systemが使われており、Kernel.systemとよく似た振る舞いをするが、いくつかの機能が追加されている。ここではそれらの機能について解説する。
Net::HTTPには空気を読んで自動的にHTTP compressionを有効にして通信する機能がある。 リクエストのヘッダーにaccept-encodingやrangeを設定しなければ、自動的にaccept-encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3がセットされ、圧縮されたレスポンスは自動的に展開される。Net::HTTPを内部で使っているライブラリ(open-uriや、faradayのNet::HTTPのアダプターなど)もaccept-encodingやrangeをセットしていなければHTTP Compressionに対応している。 ただし、1.9.3でこの機能が有効になるのはNet::HTTP#getを使用するときだけ。Net::HTTP.getやNet::HTTP::Get(open-uriはこれを使っている)などを使う場合
アプリケーション本体や自動テストを実行するのに必要なgemは、開発者全員が同じものをインストールするべきだ。しかし、pry-*などの開発支援系のgemについては、開発者全員が同じものを使う必要はないのではないか1。 Bundlerの作法に従うと、自分が使いたい開発支援系のgemとGemfileに登録されているgemが食い違っている場合には、Gemfileを編集してbundle installすることになる。この操作を複数のプロジェクトで繰り返すのは面倒だ。また、自分好みの設定は手元だけで使いたいこともあるだろう。GemfileやGemfile.lockをVCSで管理しているときには、誤って変更をコミットしないように気をつけなければならない。 ここでは主に、bundle exec --によるgemのバージョン固定の恩恵を受けながら、特定のgemだけはGemfileに登録せずに使う方法について
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く