読者です 読者をやめる 読者になる 読者になる

Rails Webook

自社のECを開発している会社で働いています。Rails情報やサービスを成長させる方法を書いていきます

ベストフィットなRubyGemsを選ぶたった4つのステップ

Rails初級 Rails gem

f:id:nipe880324:20150304013504p:plain
「同じような機能のgemがあり、どのをgemを選んだら良いか分からない人」を対象に、どのようにgemを選べばよいかのステップを説明しまいます。
この4つのステップを行うことにより、あなたが求めているベストフィットなgemを見つけれるでしょう。

ベストフィットなRubyGemsを選ぶ4つのステップ

Step1:Ruby toolboxで人気のgemを調べる
Step2:Githubでアクティブか調べる
Step3:RubyGemでバージョンと依存関係を調べる
Step4:ドキュメンテーションを調べる
おまけ:ソースコードの見方


Step1:Ruby toolboxで人気のgemを調べる

Ruby Toolboxというサイトを使うことで人気なgemを簡単に調べることができます。


「Authentication(認証)」を調べるというテーマで実施しています。

まず、Ruby Toolboxを開きます。
そして、右上の「検索フォーム」に "Authentication" を入力して検索します。
f:id:nipe880324:20140715034554p:plain:w480

次に結果がでてきたので、「Categories欄」の "Rails Authentication" をクリックします。
f:id:nipe880324:20140715034624p:plain:w480

これで特定分野のメジャーのgemが分かります。ご存知の通り「Rails Authentication」のgemでは "Devise" がメジャーです。
f:id:nipe880324:20140715034742p:plain:w480

このメジャーなグラフでざっくりと人気なgemを調べます。



Step2:Githubでアクティブか調べる

Github上での「最終コミット日」や「改修バグ数」からアクティブなgemかContributerが多いかを確認します。
アクティブでない場合、バグがあった場合や新しいRailsのバージョンが出た場合などの互換性など自分で修正しないといけないので、OSSの恩恵を受けづらくなるのでアクティブであるかどうかは重要です。
※Githubなどでオープンソースとして公開されていない場合は飛ばす


先ほどのページの下の方にある「Source code」からGithubのサイトを開きます。

「commits」からコミット履歴画面を開き、最終コミット日などを見て、アクティブかどうかを判断します。
f:id:nipe880324:20140715035146p:plain

「issues」からバグ一覧画面を開き、"closed"の数を見て、Contributerが多いか、バグが発見され、改修されるというプロセスが回っているか確認します。
f:id:nipe880324:20140715035215p:plain



Step3:RubyGemでバージョンと依存関係を調べる

RubyGem上での安定バージョンや依存関係を把握します。
RubyGem.orgで"devise"で検索し、devise gemの画面を開き、一番下の「Version」と「Runtime Dependencies」を確認します。
「Version」の日付を見て、最近のバージョンが安定しているかどうかを見ます。
f:id:nipe880324:20140715035737p:plain



Step4:ドキュメンテーションを調べる

Githubの「wiki」やRuby Infoでドキュメントを確認します。
開発において、ドキュメントが充実していることで開発をスムーズに行えるので大切案ステップです。

Githubのdeviseのページの右側から「wiki」を選択し、ドキュメントを見る。
f:id:nipe880324:20140715040605p:plain

Ruby Infoのサイトを開き、"devise"で調べます。
f:id:nipe880324:20140715040607p:plain



おまけ:ソースコードの見方(検証中)

自分でソースコードの中身をみると、いろいろとカスタマイズや動きを理解できます。そのため、ソースコードの見る順番を説明します。

  1. 準備として、githubからcloneでローカルにソースコードをコピーする
  2. clocコマンドでソースコードの規模感を見ておく(cloc libとcloc test)
  3. lib/.rb
  4. lib//rails.rb
  5. ....