こんにちは、エンジニアのナカハシです。 最近は、しばらくRailsでのWebアプリ開発に勤しんでいる毎日です。 開発中にStrategyとRackミドルウェアを復習したので、軽くまとめてみました。 Strategyってなんだっけ? 今私が開発に参加しているファンクラブサイトは、複数種類のファンクラブサイトを1つのアカウントでログインできるようにしています。 各ファンクラブサイトのアクセス許可は、共通アカウント基盤に対してOAuth2で行うようにしています。Railsでのこの手のログイン認証を得る場合、対応するomniauth-xxxというgem(omniauth-twitterとかomniauth-facebookなど)を利用すると手軽に実現できるわけですが、それらのライブラリは以下のようなモジュール構造(名前空間)を持っています。 module OmniAuth module Strat