記事概要
Ruby on Railsのライブラリについて、まとめる
前提
- Ruby on Railsでアプリケーションを作成している
基本情報
ファイルパス
Gemfile
記載方法
修正箇所のみ、更新する
適用方法
まとめ
pry-rails
デバッグ用のGem
# 最終行に、下記を記述する
gem 'pry-rails'
インストール以降は、こちらを参照
devise
ユーザー管理機能を簡単に実装するためのGem
# 最終行に、下記を記述する
gem 'devise'
インストール以降は、こちらを参照
RSpec
Ruby on Railsのテストコードを書くために用いられるGem
group :development, :test do
# 省略
# グループ「group :development, :test」の中に記述する
gem 'rspec-rails', '~> 4.0.0'
end
インストール以降は、こちらを参照
FactoryBot
インスタンスをまとめることができるGem
group :development, :test do
# 省略
# グループ「group :development, :test」の中に記述する
gem 'factory_bot_rails'
end
インストール以降は、こちらを参照
Faker
ランダムな値を生成するGem
group :development, :test do
# 省略
# グループ「group :development, :test」の中に記述する
gem 'faker'
end
インストール以降は、こちらを参照
gimei
さまざまな意図に応じた、ランダムな値を日本語で生成するGem
group :development, :test do
#中略
# グループ「group :development, :test」の中に記述する
gem 'gimei'
end
インストール以降は、こちらを参照
Capybara
System Spec(結合テストコードを記述するための仕組み)を記述するために必要なGem
デフォルト導入されているので、インストールは不要
group :test do
# 省略
gem 'capybara', '>= 2.15'
# 省略
end
使用方法は、こちらを参照
Active Storage
ファイルアップロード機能を簡単に実装できるGem
.png
または.jpeg
の画像に対応している
インストール方法および使用方法は、こちらを参照
MiniMagick
ImageMagickの機能をRubyで扱えるようにしてくれるGem
# 最終行に、下記を記述する
gem 'mini_magick'
使用方法は、こちらを参照
ImageProcessing
MiniMagickでは提供できない、画像サイズを調整する機能を提供するGem
# 最終行に、下記を記述する
gem 'image_processing', '~> 1.2'
使用方法は、こちらを参照
pg
データベース(PostgreSQL)を使用できるようにするGem
# 最終行に、下記(group ~ end)を記述する ※本番環境のDBとして設定する場合
group :production do
gem 'pg'
end
Renderでの使用方法は、こちらを参照
Rubocop
静的コード解析ツール
group :development do
# 中略
gem 'rubocop', require: false
end
使用方法は、こちらを参照
ActiveHash
変更されないデータをモデルファイル内に直接記述することで、データベースへ保存せずにデータを取り扱うことができる
# 最終行に、下記を記述する
gem 'active_hash'
使用方法は、こちらを参照
payjp
Ruby(Ruby on Rails)のサーバーサイドから、PAY.JPの決済処理を行うときに必要となるGem
PAY.JPが提供しているAPIのGem
# 最終行に、下記を記述する
gem 'payjp'
gon
RailsからJavaScriptに変数を渡すためのGem
秘密鍵などの秘匿情報を決して扱わないよう注意する
# 最終行に、下記を記述する
gem 'gon'
使用方法は、こちらを参照
aws-sdk-s3
AWSのS3を使用するために必要なGem
# 最終行に、下記を記述する
gem "aws-sdk-s3", require: false
使用方法は、こちらを参照
Unicorn
本番環境でUnicornを使用するためのGem
# 最終行に、下記(group ~ end)を記述する
group :production do
gem 'unicorn', '6.1.0'
end
使用方法は、こちらを参照
Capistrano
AWSの自動デプロイツールを利用するためのGem
# group ~ endの中に、記述する
group :development, :test do
gem 'capistrano'
gem 'capistrano-rbenv'
gem 'capistrano-bundler'
gem 'capistrano-rails'
gem 'capistrano3-unicorn'
end
使用方法は、こちらを参照
rails-i18n
こちらのサイトに記述してある日本語を使えるようになるGem
# 最終行に、下記を記述する
gem 'rails-i18n'
使用方法は、こちらを参照
※application.rbにconfig.i18n.default_locale = :ja
の記述をしないと日本語で表示されないので、注意
ancestry
階層構造の編成を可能にするGem
# 最終行に、下記を記述する
gem 'ancestry'
使用方法は、こちらを参照
ransack
検索機能の実装を実現できるGem
# 最終行に、下記を記述する
gem 'ransack'
使用方法は、こちらを参照
gretel
リンクを設置したリストを画面に表示する機能を実装できるGem
# 最終行に、下記を記述する
gem "gretel"
使用方法は、こちらを参照
omniauth
Google、Facebook、twitter等のSNSアカウントを用いてユーザー登録やログインなどを実装できるgem
Omniauth認証はCSRF脆弱性が指摘されているため、omniauth-rails_csrf_protection
というGemをインストールして対策する
# 最終行に、下記を記述する
# Facebookのomniauth
gem 'omniauth-facebook'
# Googleのomniauth
gem 'omniauth-google-oauth2'
# Omniauth認証のCSRF脆弱性への対策
gem "omniauth-rails_csrf_protection"
gem 'omniauth', '~>2.1.1'
使用方法は、こちらを参照
Turbo
ウェブアプリケーションをより直感的に操作するための機能
利用することによって、部分的なページ更新や非同期通信を簡単に実装可能
# Rails 7以降の場合、アプリ作成時点で下記が記述されている
gem "turbo-rails"
http.rb
RailsからAPIにHTTPリクエストを送信することができるgem
# 最終行に、下記を記述する
gem "http"
Ruby on Railsまとめ
ライブラリ