この記事はRuby on Rails Advent Calendar 2017 17日目の記事です。

はじめに

今回初めて ruby on railsのアドベントカレンダーに参加させていただきます。
稚拙な内容などはご了承ください。
また今回検証するためにソースコードを一部お借りさせていただきました。
Ruby on Rails Advent Calendar 2017 | 4日目 「先人達から学ぶRailsのテーブル設計」- kikunantoka

検証対象 OSS

注意事項

  • 古いレポジトリーなども含まれているため、Gemの取り扱いの際はご自身で一度確認することをおすすめします。

方法

  • 記事を参考にレポジトリーからGemfileを抽出し、データベースに保存。
  • 各カテゴリー別に分けて使用されているGemもしくわ、使用されていたGemを調べております。

結果

rails version

rails version number_of_columns
rails4系 45
rails5系 28
rails3系 10

アカウント作成

gem number_of_columns
devise 46
sorcery 2

DB周辺

gem number_of_columns
pg 57
mysql 27
sqlite3 20

=> Pgが上位なのは、

キャッシュサーバー

gem number_of_columns
redis 8

ページネーション

gem number_of_columns
kaminari 26
will_paginate 24

画像

gem number_of_columns
paperclip 26
carrierwave 24
mini_magick 18
rmagick 8

テンプレートエンジン

gem number_of_columns
haml 21
haml-rails 16
slim-rails 6
slim 5

デバッグ

gem number_of_columns
better_errors 32
binding_of_caller 31

権限

gem number_of_columns
pundit 8
cancan 7

oauth系

gem number_of_columns
omniauth 23
omniauth-facebook 16
omniauth-google-oauth2 12
omniauth-github 10

decorator

gem number_of_columns
draper 8

テスト

gem number_of_columns
rspec-rails 50
minitest 14

テスト効率化促進

gem number_of_columns
database_cleaner 38
webmock 31
faker 29
launchy 29
simple_cov 27
timecop 27
shoulda-matchers 22
guard-rspec 18
coveralls 16
rails-controller-testing 16
email_spec 13
spork 6
ffaker 6
rspec-its 6

エラートラッキング系

gem number_of_columns
newrelic_rpm 28
airbrake 10
sentry-raven 6
honeybadger 5
bugsnag 3

アプリケーションサーバー

gem number_of_columns
unicorn 25
thin 25

ジョブキュー処理

gem number_of_columns
sidekiq 17
delayed_job 7
resque 3

論理削除

gem number_of_columns
paranoia 5

開発効率促進

gem number_of_columns
rubocop 24
annotate 17
bullet 16
letter_opener 15
rack-mini-profiler 11
brakeman 8
rails-erd 7

全集計結果を載せております。
https://github.com/zorori777/research_gems/blob/develop/results/result_gem.md

最後に

Gemは知っているか、知らないかの世界です。
年を重ねれば重ねるほど、成熟し完成されるGemもあれば
新しい風を吹かす画期的なGemも今後できるかもしれません。
Gemと共に素敵なエンジニアライフを送っていきましょう!!