知っておくと便利なRubyGemsのクイックテクニック3選
最近、Rubyをアップデートしていくつかのプロジェクトをアップグレードしました。その作業の中で、これまで知らなかったRubyGemsの便利な機能をいくつか発見しました。本記事では、その中から特に実用的な3つのテクニックを紹介します。
実行ファイルが古くなったとき
以前はrvmを使ってRubyのバージョンを管理していました。しかし、前回マシンをセットアップした際、rvmなしで運用してみることにしました。BundlerがあればGemsetは不要ですし、Homebrewを使えばRubyを常に最新に保てるからです。
この運用方法はうまく機能します。ただし、Rubyをアップデートした途端に問題が発生します。rails newやbundle installといったコマンドが動かなくなり、古いRubyバージョンを参照するようになってしまうのです。
各gemを一つずつアンインストールして再インストールすれば直せますが、それは非現実的すぎます。代わりにgem pristineを使いましょう。
gem pristine --all --only-executables
gem pristineは、gemを最初にダウンロードした状態へリセットするコマンドです。アンインストールして再インストールするのと同じ効果があります。(デバッグ中にgemのコードを編集して、元に戻し忘れてしまった場合にも役立ちます。)
--allは「すべてのgem」を対象にするオプションで、--only-executablesは「/usr/local/bin/railsや/usr/local/bin/bundleのようなファイルだけをリセットする」という意味です。つまり、コマンドラインからgemを実行するためのスクリプトだけを修復します。
このコマンドを実行すると、/usr/local/bin/railsのようなファイルが、gemを再インストールした場合と同じ状態に戻ります。
1分後には、いつものようにアプリ開発に戻れるでしょう。
古いバージョンが必要なとき
respond_toについて記事を書いたとき、理解を深めるために小さなアプリをいくつか作成しました。Railsの複数のバージョンを使い、それぞれのバージョンでrespond_toとrespond_withがどう扱われるのかを確認したのです。
では、正しいRailsバージョンでアプリを生成するにはどうすればよいのでしょうか。実は、以下のような面倒なことをする必要はありません。
gem install rails -v 4.0.0
rails new respond_to_4.0
gem uninstall rails
gem install rails -v 4.1.0
rails new respond_to_4.1
gem uninstall rails
もっと簡単な方法があります。コマンドライン上でアンダースコアを使えば、実行したいバージョンをRubyGemsに直接指定できるのです。
rails _4.0.0_ new respond_to_4.0
rails _4.1.0_ new respond_to_4.1
あいまいなバージョン指定
ただし、前のセクションの方法にはまだ課題が残っています。実際には4.0.0ぴったりのバージョンをインストールしたいわけではないはずです。本当に欲しいのは、マイナーアップデートをすべて含む4.0系の最新版でしょう。
ところで、Rails 4.0系の最新のマイナーバージョンが何だったか、すぐに思い出せますか?
調べる方法はいくらでもありますが、RubyGemsが望みどおりに処理してくれるなら、わざわざ調べる必要はありません。
gem install rails -v "~>4.0.0"
Bundlerでおなじみのバージョン指定文字列は、すべて利用できます。
gem install rails -v ">3.1, <4.1"
非常に便利です。特に、私のように「コンピュータの方が得意な作業」を手動でやるのが嫌いな人には、心強い機能でしょう。
すべてを暗記する必要はない
私がこれらの問題に直面したとき、簡単な解決策が存在することを知りませんでした。それでも、「きっと何か良い方法があるはずだ」と推測することはできました。
今回紹介したのは、どれも自分一人で解決できるものの、作業が反復的で面倒なケースばかりでした。
このような反復的で退屈なタスクを見つけたら、特に広く使われているプロジェクトにおいては、次の2つのどちらかを意味しています。
- すでに誰かが自動化している
- 多くの人があなたが自動化してくれることを期待している
単純作業に取り掛かる前に、少しだけ掘り下げて調べてみましょう。ほんの少し調査するだけで、必ず時間をかける価値のある答えが見つかるはずです。
この記事は元々、メルマガ読者限定でお届けしていたものです。毎週金曜日にこうした記事をメールで受け取りたい方は、ぜひご登録ください!
-
Excelのデータモデルからテーブルを削除する方法【2つの簡単な手順】
このチュートリアルでは、Excelのデータモデルからテーブルを削除するための2つの簡単な方法をご紹介します。どちらの方法も複雑な数式を使わずに実行できる、シンプルな操作です。また、記事の最後では、データモデルがまだない方向けに、データモデルへテーブルを追加する手順も解説します。 練習用ワークブックはこちらからダウンロードできます。 データモデルとは? Excelにおけるデータモデルとは、1つ以上の共通データ列(キー)を介して相互に関連付けられたデータテーブルのコレクションです。このテーブル群が集まることで、異なるワークシート上にある個々のテーブルにアクセスできる、より大規模なデータベースが形成
-
知らないと損!Gmailの生産性を高める10の便利なヒントとコツ
世界では約7人に1人がGmailを使用していますが、その多くはGmailが提供するさまざまな機能を十分に活用できていません。Gmailはメールの送受信だけでなく、重要なメールの強調表示、迷惑メールのフィルタリング、特定ユーザーのブロックなど、多彩な使い方ができるサービスです。 Gmailには数多くの便利な機能が備わっていますが、その多くが隠し機能となっているため、活用しきれていないユーザーも少なくありません。この記事では、そんな隠れた便利機能とその使い方をご紹介します。これらの機能を使えば、Gmailの整理・管理がしやすくなるだけでなく、楽しく快適なメールライフを実現できます。 1. 送信取り