Help us understand the problem. What is going on with this article?

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

More than 3 years have 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アダプタ?
イマイチわからな。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした