INODEVLOG

WEBアプリ開発・事業開発・ビジネスモデル・読書の情報などをお届けしています。

【Rails4開発】始めに必須で入れたいオススメのgem10選

Railsは便利なgemがいくつもあって良いですね。井上です。

Railsの機能面は出来るだけ自作したほうが良いと思いますが、個人的に特にtestやdebug系のgemはどんどん使うべきと思います。

今回は比較的知名度が高い個人的によく使うお気に入りの必須Gemを紹介してみたいと思います。

どんな開発環境でも使えると思うので知らないものがあれば是非試してみて下さい。

f:id:inodev:20170221025054p:plain

モデルのschemaを見やすく出力!gem'annotate_models'

モデルの現在のカラムをmodelに記述したり、routingをroutes.rbに書き出したりしてくれるgemです。

rake db:migrate をトリガーにschema情報を更新してくれるので、最新の情報を常にすぐに参照できるようになります。

出力場所もモデルファイルの上だったり下だったり選べるのが良いですね。

個人的にモデルの下に書き出して置いて、VimでModelにジャンプして見るのが気持ち良いです!

【GitHub】★2,419

github.com

【使い方の参考になるオススメサイト】

techracho.bpsinc.jp

環境別に定数管理を簡単に!gem'config'

サービス名・メールアドレスなど固有の情報を定数として管理しておくと、運用で変更する際にもとても楽です。

configのgemを使うと環境毎に定数値を切り替えたりも出来て地味に便利です。

たまに各種メッセージまで全て定数として個々に書いてあるのを見ますが、個人的に文章に関するものはi18nも加味してconfig/locale配下にymlとして置いてほしいです…。

【GitHub】★1,191

github.com

【使い方の参考になるオススメサイト】

blog.hello-world.jp.net

セキュリティレベルの高い運用!gem'dotenv-rails'

.gitignoreにsettingsのローカル系ファイルは書かれますし、configのgemで生成されるファイルに全て書いても良いのですが…。

APIKeyなど定数として持つより環境変数を見に行く書き方にしたほうが、セキュリティ及び運用上個人的に好ましいので両方愛用してます。

(Production環境の環境変数などは個別で設定してます)

【GitHub】★3,871

github.com

【運用の参考になるサイト】

aligach.net

【使い方の参考になるオススメサイト】

qiita.com

例外のフック処理を簡単実装!gem'exception_notification'

500エラーとかの例外が起きた時に簡単に通知が飛ばせる便利なgemです。

アプリ内部からSlackだったりに他のAPI実装のアプリやメールアドレス宛に簡単な設定で監視体制が作れます。

勿論アプリやHTTPサーバーが落ちてたら機能しないのでそれ用の監視は必要ですが、細かなエラーをリアルタイムに拾える仕組みをすぐに導入できて精神衛生上大変良いです。

【GitHub】★1,748

github.com

【使い方の参考になるオススメサイト】

qiita.com

CSS3ベンダープレフィクスの補完!gem'autoprefixer-rails'

ボクみたいなCSS3のベンダープレフィクス調べたりするのが面倒くさいエンジニアには神と言っても良いgemだと思います!

取り敢えずSCSSとかで調べながら書いた処理を勝手に補完してくれるので、毎回「あれ、この命令ってベンダープレフィクス付けるべきなんだっけ…」って調べなくても良くなります。

【GitHub】★953

github.com

【解説&使い方の参考になるオススメサイト】

kojika17.com

解析用鉄板ツール!gem'pry-byebug'

Railsで開発していて(Rubyのバージョンが古くない限り)コレを入れていない人はいないと信じているgemです。(笑)

昔C言語でgdbというものを触っていたせいか、無性にブレークポイント貼ったりステップ実行とか出来るデバッグツールに愛着があります…!

Pryは派生gemも色々有るのでもしデバッグ環境揃えていない人はちゃんと揃えると良いと思います。

【GitHub】★1,028

github.com

【使い方の参考になるオススメサイト】

qiita.com

備考

Debug系gemは数多くありますが取り敢えず典範のこのあたりも入れておくと、エラーに立ち向かうモチベーションを維持しやすいと思います。

gem ‘better_errors'
gem ‘binding_of_caller'

N+1問題対策忘れに!gem'bullet'

ActiveRecoredでついついincludesとかの使用を忘れてしまうと言うのはなくはないので入れておいて損はないgemですね。

本当はちゃんとひとつひとつ最適なSQLを発行するよう厳密にチューニングすべきでしょうが、WEBアプリの立ち上げ段階ではついおざなりにしがち。

最低限入れておくとチーム開発でも安心感が上ると思います。

【GitHub】★4,457

github.com

【使い方の参考になるオススメサイト】

www.techscore.com

HTMLの記述を簡単に!gem'slim-rails'

Viewテンプレートの代表格で、HTMLを短く書くことが出来るSlimという便利な記法をRailsに組み込めるgemです。

自分は基本的にslimを使っているので、逆にslimを使わないと気持ち悪くなってきました…。

特にBootstrapとか使ってるのにHTMLべた書きしているのを見ると吐きそうになってしまいます。

slimいいよslim。

地味にemmetでもslimに対応してるの驚いたけどslimだったら記述スピードあんま変わらんね…。

【GitHub】★468

github.com

【使い方の参考になるサイト】

ruby-rails.hatenadiary.com

常にRubyの文法チェック!gem'rubocop'

Rubyの文法をチェックして細かく警告してくれる素敵なgemです。

これにより常に「見やすいソースを維持する努力」を怠けにくくなるでしょう。

guardとかでソースに変更を加えるなどをトリガーにチェックさせるのが良いかと思います。

【GitHub】★7,305

github.com

【使い方の参考になるオススメサイト】

ruby-rails.hatenadiary.com

ER図生成でDB状態を簡単に把握!gem'rails-erd'

新規プロジェクト立ち上げや引継時などに入れておきたいのがこのrails-erdのgemです。

現在のER図を一瞬で生成してくれるので、大まかにリレーションの関係やテーブルのデータ内容を掴むことが出来ます。

特にリバースエンジニアリングの際には必須のgemと言えるでしょう。

【GitHub】★1,905

github.com

【使い方の参考になるオススメサイト】

【Try Gem】rails-erdを使ってER図を出力してみる。 - もふもふ技術部

まとめ

今回は8つのオススメのgemについて紹介してきました。

有名所がほとんどでしたが、存外「そう言えば導入してないな…」と言うものもあったのではないでしょうか。

気になったものがあればこの機会に是非試してみて下さいね!

また、開発で困ったケースがあったり、Twitterとかで要望貰えればPickupしてなんか書くかもしれません。

むしろ要望がなければ面倒くさくてあんまり更新しないかもしれませんので、是非御連絡お待ちしております。

それではー!