dev.toがオープンソース化されていたので使われているgemを調べてみた
爆速で表示されると話題になった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プラットホーム)またはオンプレミスのアーキテクチャを使ってホストする”らしい。よくわからん
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の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
力尽きた