Gemfile
Rails5

今流行のmastodonがRailsらしいので、せっかくだからGemfile読んでみた。

More than 1 year has passed since last update.

今流行のmastodonがRailsらしいので、せっかくだからGemfile読んでみた。

ファイルはこれ。
https://github.com/tootsuite/mastodon/blob/master/Gemfile

いつもの

  • rails
  • sass-rails
  • uglifier
  • jquery-rails
  • kaminari
  • nokogiri
  • rails-i18n
  • sprockets-rails
  • tzinfo-data

HTMLレンダ

hamlit-rails

HAML互換テンプレートエンジンのhamlitですね。

simple-navigation

メニュー(グロナビみたいなのとか)簡単に作るマン

simple_form

FormHelperの代替ライブラリ。

htmlentities

HTML実体文字参照のやつ

DB

pg

DBはPostgreSQL!!

pghero

PostgreSQLのパフォーマンスモニターのダッシュボード。へえー!

redis, hiredis

redisにアクセスするやつ。
hiredisはCで書かれたredisアクセスライブラリの、ruby-extension

redis-rails

RailsのセッションストアとしてRedisを使う。

認証系

devise, devise-two-factor'

いつものdeviseー!
MFAにも対応。

doorkeeper'

oauthとかの、API利用者の認証基盤みたいなやつっぽい。
consumer keyとか。

jsとか

react-rails

react.js !!!

browserify-rails

いつもの。

autoprefixer-rails

sassでベンダプレフィックス自動で付けるやつ

バックグラウンド処理

sidekiq

Rails向けのバックグラウンドワーカーライブラリ。

sidekiq-unique-jobs

Sidekiqでジョブの排他処理みたいなのやる。

Rails Controller拡張?

rabl

JSON APIを組むのを補助するライブラリ。

参考:
RailsでJSON APIを定義するならRABLが便利! http://qiita.com/yuch_i/items/f6b04e2875f432f8f806

なるほどー。

Rails Model拡張

peperclip

gem 'paperclip', '~> 5.1'
gem 'paperclip-av-transcoder'
gem 'aws-sdk', '>= 2.0'

画像上げるマン。
paperclip-av-transcoder は動画の変換出来るようにするやつの様子。知らなかった。
aws-sdkのバージョンを指定する必要があったりなかったりするのがpaperclipのちょっとつらい所だ。

rails-settings-cached

いい感じに設定っぽいやつ(Key-Valueストア)を扱えるやつ。
設定はModelにもくっつけられるようす。

ユーティリティ

addressable

better URIクラス。標準ライブラリよりも更にRFC準拠ってことらしい。

twitter-text

twitter的な、 @メンションとか、#ハッシュタグとかをパースするやつ

whatlanguage

文字列が何の言語でかかれているかを推定するやつ

http-accept-language

I18nのlocaleをHTTPヘッダから推量するために使用。

http

HTTP通信するマン。
リモートサーバーとのやり取りに使ってそう。

httplog

外方向のHTTP通信のロガーらしい。

link_header, goldfinger, ostatus2

リモートサーバーとのメッセージングの実装に使われている様子。
この辺に詳しい。
https://gist.github.com/okapies/60d62d0df0163bbfb4ab09c1766558e8

oj

高速なJSONライブラリ

ox

高速なXMLパーザ。
あれっ nokogiriは?

fast_blank

String#blank? の高速な実装、らしい。1.2〜20倍早い。マジか。

rqrcode

QRCode画像作るマン

テスト

rspec-rails, rspec-sidekiq

RSpec でテスト書く。

simplecov

カバレッジレポート生成

webmock

HTTPアクセスをmock化する。
外部サービスへのアクセスを、テストに組み込むのに使うイメージ。

fuubar

RSpecの出力をいい感じにするやつ

fabrication, faker

テストデータ生成。
fabricationは、FactoryGirlみたいなもんか。

開発補助

pry-rails

いつもの。
rails consoleをirbからpryに置き換えるやつ。

i18n-tasks

I18nで設定されていないやつとかがわかる

rubocop

Rubyのフォーマットチェッカー & オートフォーマッタ

better_errors

Railsのエラー画面をもっといい感じにしてくれる。

binding_of_caller

コールスタックを遡って、そのレシーバを返す。

letter_opener, letter_opener_web

ActionMailerのメール送信をトラップして、
ブラウザ上で開いたり、ダッシュボードを提供する。

bullet

N+1クエリ検出

active_record_query_trace

ログに出力されるSQLクエリダンプに、そのクエリを投げた場所(ファイルパスと行数)を追加するっぽい。

デプロイツール

capistrano

  • capistrano
  • capistrano-rails
  • capistrano-rbenv
  • capistrano-yarn

いつもの感じ。
yarn用タスクも有るんですね。

capistrano-faster-assets

変更がない場合に、assets:precompileをスキップする感じ。

本番環境用

rails_12factor

12factorという運用思想に従うように調整するっぽい。
https://12factor.net/

lograge

ログを1行化する。

その他

pkg-config

pkg-configのアダプタライブラリ?
OpenBSDでnokogiriのビルドが出来ない問題に対処するために入れた様子。

rack-attack

Rackレベルでの、リクエストレートの制御

rack-cors

Cross-Origin Resource Sharing (CORS) をRackレベルでアレコレしてくれるらしい。

rack-timeout

Heroku製のリクエストのタイムアウト時に例外投げてくれるヤツ。
うちはHeroku使ってないので、nginxのタイムアウトでいいやーとか思ってたけど、Rackレベルで制御もできるんだな。

ruby-oembed

oEmbedっていう、URLを簡単にiframe化できる規格?の実装。
別ツイートの埋め込みとか外部リンクとか?
イマイチ使ってる箇所がわからない。

statsd-instrument

StatsD という情報収集デーモン?のRubyアダプタ?
イマイチわからな。