爆速で表示されると話題になったdev.toのソースコードがGitHubに公開されていたので、使われているgemを調べてみました。

https://github.com/thepracticaldev/dev.to

共通gem

actionpack-action_caching

キャッシュを生成するgem

active_record_union

ActiveRecordにおけるUNION句の拡張。「union_all」メソッドを追加

acts-as-taggable-on

タグの投稿機能や管理機能を追加するgem

acts_as_follower

フォロー/フォロワー機能を追加するgem

administrate

管理画面をサクッと作れるgem

ahoy_email

メールのトラッキング機能を追加

airbrake

例外などエラーをキャッチして通知してくれるgem

algoliasearch-rails

Algoliaの強力なサイト内検索機能を実装できるgem?

algorithmia

“データサイエンティストが自分の好きな言語とフレームワークでモデルを作り、それをAlgorithmiaのクラウド(CODEXプラットホーム)またはオンプレミスのアーキテクチャを使ってホストする”らしい。よくわからん

https://jp.techcrunch.com/2017/11/17/2017-11-16-algorithmia-now-helps-businesses-manage-and-deploy-their-machine-learning-models/

ancestry

多階層のカテゴリを実装するためのgem

autoprefixer-rails

scssファイルコンパイル時にベンダープレフィックスを自動付与する

aws-sdk-lambda

AWS Lambda SDKのgem

bourbon

Sassのライブラリ。便利なmixinやfunctionsがたくさん

buffer-ruby

Buffer APIのラッパー。Ruby製で、既存のgemより高速に動作するらしい

carrierwave

定番の画像アップローダ

carrierwave-bombshelter

画像によるサーバー攻撃(image bombs)を防いでくれるgem

cloudinary

画像管理サービスcloudinaryのSDK

counter_culture

高機能カウンタキャッシュ。Rails標準のものよりも優秀

csv_shaper

綺麗なフォーマットのCSVファイルを生成できるgem

dalli

memcachedサーバーにアクセスするためのクライアント

delayed_job_active_record

データの集計やインポートなどをバックグランドで処理できるようにするgem

devise

定番ログイン機能の実装gem

draper

Model/View/Controller/Helperの他に「Presenter」という役割を追加する。
viewとモデルの中間に位置し、モデルやビューに実装されやすい表示ロジック/フォーマットを記述する役割を持つとのこと

email_validator

メールにバリデーションを追加する

envied

環境変数を型定義できるようにするgem

fastly/fastly-rails

爆速CDN fastlyのSDK

feedjira

RSSフィードの取得ができるgem

figaro

定数管理ライブラリ

flipflop

アプリケーション機能ごとに有効/無効を設定できる 

fog

S3などクラウドストレージへのファイルの保存先を簡単に設定できるgem

front_matter_parser

ファイルから特定の文字列を検出するgem。自動構文解析機能も備えている

gibbon

MailChimp’s APIのラッパー

google-api-client

Google APIのクライアント

html_truncator

HTMLの文字列を任意にカットできるgem

httparty

HTTP通信の拡張。レスポンスデータがJSONの場合、解析なども可能

inline_svg

SVGファイルをビュー内に直接埋め込めるgem。CSSでスタイルの調整が可能になる

jbuilder

JSON形式でデータを配信できる定番gem。

jquery-rails

jQueryのラッパー

kaminari

ページネーション機能を簡単に実装できるgem

keen

Keen IOクライアント。ユーザーの行動などを計測できる

liquid

テンプレートエンジン。Jekyllでも使われているらしい

nokogiri

スクレイピング用のgem

octokit

GitHubのクライアント。GitHub API v3対応

omniauth/omniauth-github/omniauth-twitter

ソーシャルログイン機能を簡単に実装できる

pg

PostgreSQLのgem

pry/pry-rails

Railsのコンソール機能を強化し、デバッグしやすくする

puma

定番Webサーバー

puma_worker_killer

pumaのプロセスが規定のメモリ使用量を超えたときにプロセスをkillして自動的に再起動してくれる

pundit

ユーザー権限機能を簡単に実装できるgem

pusher

リアルタイム処理を実装できるgem

rack-host-redirect

301リダイレクトを簡単に実装できるgem

rack-timeout

リクエスト処理に時間がかかりすぎている場合のタイムアウト時間を設定できる

rails

Rails本体 バージョンは5.1でした

rails-assets-airbrake-js-client

Airbrakeのクライアント。ブラウザのエラーを取得できる

rails-observers

オブザーバー。

recaptcha

reCAPTCHA認証の実装

redcarpet

markdown記法を扱えるようにするgem

reverse_markdown

HTMLからmarkdown記法に変換するgem

rolify

Userに対してroleを与えたり指定のroleを探したり出来るgem

rouge

markdown記法のシンタックスハイライト

s3_direct_upload

Amazon S3へ直接アップロードすることができるgem。CORS対応済み

sass-rails

Sassコンパイラ

sdoc

RDocコメントからHTMLのAPIドキュメントを作ってくれるgem

serviceworker-rails

Service workerを簡単に導入できるgem

share_meow_client

ShareMeowのクライアント

skylight

Skylightのクライアント

slack-notifier

Slackの任意のチャンネルへ投稿できるAPIラッパー

sprockets

おなじみSassやCoffeeScriptのコンパイラ

sprockets-es6

ES6で書かれたJSをトランスパイルしてくれるgem

staccato

Google Analyticsの測定プロトコルをサーバー側で追跡できるgem

storext

ActiveRecordにStoreレイヤーを追加する。よくわからん

stream_rails

Streamのクライアント。タイムラインのようなものが実装できるっぽい

stripe

決済機能を簡単に実装できる定番gem

therubyracer

JavaScriptで使われている実行エンジンV8をRubyでも実行できるようにするgem

timber

Rubyのロギング用gem

twilio-ruby

Twilioのクライアント。どこに使ってたんだろう

twitter

TwitterのAPIラッパー

uglifier

JSのコード圧縮ツールUglifyのラッパー

validate_url

URLバリデーションを実装できるgem

webpacker

Webpackを簡単に扱えるgem

webpush

プッシュ通知の実装


開発用gem

brakeman

bullet

bundler-audit

derailed_benchmarks

guard

guard-livereload

guard-rspec

rb-fsevent

web-console


開発用、テスト用gem

byebug

capybara

derailed

faker

fix-db-schema-conflicts

memory_profiler

parallel_tests

rspec-rails

rspec-retry

rubocop

rubocop-rspec

spring

spring-commands-rspec

vcr


テスト用gem

approvals

chromedriver-helper

database_cleaner

factory_bot_rails

fake_stripe

launchy

pundit-matchers

rails-controller-testing

ruby-prof

selenium-webdriver

shoulda-matchers

simplecov

sinatra

stackprof

stripe-ruby-mock

test-prof

timecop

webmock

力尽きた