Ruby on Railsでアプリケーションを開発する際に参考になるGemをまとめました。 開発の際に参考にしてみてください。

前提条件

ここで紹介するGemは、以下の条件を満たすものとします。

  • メンテナンスされていること
  • レールから大きく外れないこと
  • 筆者が普段から使用しているものであること

Gem一覧

以下に必須またはおすすめのGemを示します。 数が多いので、それぞれの説明は省略します。

# Ruby on Rails
gem 'rails'
gem 'rails-api'

# Authentication
gem 'devise'
gem 'omniauth'
gem 'omniauth-*'

# Authorization
gem 'cancancan'

# Environment
gem 'config'
gem 'dotenv-rails'
gem 'seed-fu'
gem 'sitemap_generator'
gem 'whenever', require: false

# Asset
gem 'autoprefixer-rails'
gem 'font-awesome-rails'
gem 'normalize-rails'
gem 'nprogress-rails'
gem 'sass-rails'
gem 'uglifier'

# Model
gem 'aasm'
gem 'active_model_serializers'
gem 'default_value_for'
gem 'friendly_id'
gem 'paranoia'
gem 'ransack'
gem 'refile', require: 'refile/rails'
gem 'refile-mini_magick'

# Controller
gem 'kaminari'
gem 'rack-user_agent'
gem 'rails-observers'

# View
gem 'active_decorator'
gem 'geo_pattern'
gem 'meta-tags'
gem 'r_mark'
gem 'turbolinks'

group :development do
  # Environment
  gem 'annotate'
  gem 'letter_opener'
  gem 'letter_opener_web'
  gem 'spring'
  gem 'spring-commands-rspec'

  # Debug
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'bullet'
  gem 'quiet_assets'
  gem 'view_source_map'

  # Deployment
  gem 'capistrano-rails'
  gem 'capistrano-unicorn-tasks'
end

group :test do
  # Test
  gem 'capybara'
  gem 'capybara-email'
  gem 'database_cleaner'
  gem 'default_value_for-matchers'
  gem 'factory_girls_rails'
  gem 'rspec-rails'
  gem 'shoulda-matchers'
end

group :development, :test do
  # Database
  gem 'sqlite3'

  # Debug
  gem 'pry-rails'
  gem 'pry-byebug'
  gem 'hirb'
  gem 'hirb-unicode'

  # Test
  gem 'faker'
end

group :production do
  # Database
  gem 'pg'

  # Environment
  gem 'therubyracer'
  gem 'unicorn'

  # Model
  gem 'refile-s3'
end

おわりに

特に小さなチームでは、適切にGemを導入することで開発をスムーズに行なえるようになります。 開発の際にはぜひ参考にしてみてください。