APIが使われてリポジトリとGistの一覧が出てくる右上にGitHubに登録したアイコンが表示される。tokenをoctokitに渡してGitHubからリポジトリ/Gist一覧を取得する(これはmemcacheで1時間保持する)必要な時にmemcachedからユーザー情報を取り出せるhelperを書いたlibs/cache.rbとcontroller/auth.rbに処理を詰め込んであるので、この2つだけコピーすれば他のSinatraアプリにもGitHubログイン機能追加できるはず。配列のようにアクセスするとkeyにprefixが付いて読み書きできて便利。