#Ruby gem を調べる
業務でRubyの簡単な改修をするようになり、当然のように既存のgemを利用していますが、改めてgemについて簡単にまとめてみました。
###gemとは何か
RubyにおけるgemとはRubyのライブラリのことです。
gemを使用することで1からコードを書かなくても機能を実装できるため便利です。
しかし、注意点としてフレームワークのバージョンによる相性やgemのバージョン同士の組み合わせによっては動作しない可能性があります。その為インストールやアンインストールにはRubyGemsやbundlerといったパッケージ管理ツールを使うことが多いです。
Rubyのバージョン1.9以降はRubyGemsは標準添付となっていますが、それ以前のバージョンの場合は自分でインストールする必要があります。
###gemを探す
gemは主にRubyGems.orgに置いてあります。その他にはgemコマンドを使用したりWebサイトを直接閲覧したりして探します。
またruby関連のリポジトリとしてGitHubが広く使われている為、gemのソースコードのほとんどがGitHubで見ることができます。
###gemコマンド
ターミナルでgemコマンドを使うことでgemをインストールしたり一覧を見ることができます。
$gem search -r #入手可能な全てのgemの一覧を調べます
--local(-r)オプションを使うと、インストール済みのgemに対してローカルで検索をすることが出来ます
$gem install [gem名] #gemをインストールします
--version/-vフラグを使うと、バージョンを指定してインストールすることができます。
$gem update #gemをアップデートします
$gem install bundler #未インストールのバンドルがある場合インストールします。
$gem list #インストール済みのgemを見ることができます。
$gem help #ドキュメントをターミナルで参照することができます。
###bundleコマンド
gemのバージョン管理を行うコマンドです。
$gem install bundler #bundlerをインストールします。
$bundle install #これだけで使用するとRuby共通フォルダにgemをインストールします。
$bundle install --path #プロジェクトフォルダにgemをインストールします。
以降--pathオプションを付けなくてもプロジェクトフォルダにインストールされます。
$bundle install --without #デプロイする際に余計なgemを入れない為に使用します。
$bundle list #プロジェクトで使用しているgemのバージョンを確認します。
###よく使われるgem
#####devise
IDとメールアドレスを使用して登録、ログインをする一般的なログイン機能を実装することが可能になります。
登録処理、仮登録、ログイン処理、認証機能、パスワードの変更/再発行などログイン機能として十分な機能を備えている為広く使用されています。
#####active admin
管理画面を自動で作成します。
権限付与・管理を行えるcancancanというgemなどをセットに使用することがよくあります。
また、管理画面を作成するのに使用されるgemは他にもrails adminやAdministrateなど有名なものがありますが、それぞれ特性がある為調べて使用しましょう。
#####i18n
Ruby on Rails 2.2以降からRailsに同梱されている多言語化に用いるgemです。
多くの言語ファイルが用意されていて、様々な言語を翻訳してくれる為サイトの国際化などに便利です。
#####Kaminari
長い文章の記事をページ分割して各ページへのリンクを表示してくれるページネーション機能を実装するGemです。
表示件数やデザインも簡単に設定変更できます。
#####better errors
エラーメッセージをわかりやすく表示してくれるgemです。
ブラウザからのirbによるdebugが可能で、どうなっているかわからない箇所ターミナルの表示をせずにすぐ確認できます。
デバッグ作業が捗る人気なgemです。
###最後に
今回はRubyのgemについて簡単な説明とよく使われるgemを少し紹介しました。
脱Ruby初心者に向けて既存のgemをただ使用するだけでなくソースを確認し一歩踏み込んだ読み方をして自分でもgemを作れるようになるとよりRubyを知ることができると思います。