ICL手術を受けてきました

先日、ICL(眼内コンタクトレンズ)の手術を受けてきました。

受けてから1週間くらいしか経っていませんが、記憶が鮮明なうちに体験談を書き残しておきます。

 

 

 

ICLとは

ICLは眼の中にレンズを入れて裸眼でよく見えるようにする手術です。

レーシックは角膜を削ったら元に戻せないですが、ICLはレンズの取り出しや交換ができる可逆性のある手術です。費用はレーシックと比べて高額。

詳細は以下のページを参照ください。

eyeclinic-tokyo.jp

 

なぜ手術を受けようと思ったか

中学生の頃から目が悪くコンタクトレンズと眼鏡を併用していました。

視力は両目とも0.08くらいで中程度の近視です。

コンタクトレンズはワンデーアキュビューモイストを使っており定期的にお金がかかっていましたし、眼鏡も買い替えが発生していました。

外出先で災害に遭ったとき眼鏡を携帯していなかったら何も見えないという不安もありました。眼鏡を忘れて外出し、コンタクトレンズが片目だけ外れて見当たらなかったときはかなり焦りました。

周りにはICLの経験者が数名いて、どの方も術後の体験が良さそうだったので受けてみたいという気持ちはありましたが、手術のリスクや高額な手術費用を考えて決断できていませんでした。

そんな矢先、12月半ばから年始まで休みが取れたので長期の休みでしかできないことをしたいと思い、リスクなども調べた上で手術を受けることに決めました。

 

受けることを決断する前に調べたこと

リスクに関しては特にこちらのページが参考になりました。

読む前までは最悪の場合、失明するのかなと考えていましたが、失明のケースは報告されておらず感染症など合併症のリスクがごく稀にあるとのことでした。

eyeclinic-tokyo.jp

 

また、ICL手術を受けた方のブログを読み漁りました。

元同僚の体験談がとても参考になり、術前から術後にやることを具体的にイメージできました。

note.com

 

病院はどうやって決めた?

眼の手術なので高額だったとしても少しでも成功確率を上げたく、腕が良い医師がいらっしゃるところが良いと考えました。

調べたところ、ICLの認定資格を持つ医師に付与されるライセンスは3段階に分かれており、その中でもエキスパートインストラクターは他の眼科医に対してICLの技術指導ができるという情報に出会いました。指導できるくらい技術がある方にお任せしたいと思い、エキスパートインストラクターがいる病院に候補を絞りました。

fukuoka-eyeclinic-nakano.com

 

最終的にアイクリニック東京の北澤医師に手術していただくことに決めました。

エキスパートインストラクターがいる病院の中で家から比較的近く何かあっても通いやすいのと、北澤医師が今まで行ったICL手術の件数が豊富にあったためです。

アイクリニック東京はYouTubeチャンネルがあり、ICLの手術についての情報も多く提供されていて、こちらを見ることで手術に対する解像度が上がりました。おすすめです。

www.youtube.com

 

術前の検診

これ以降の流れはクリニックによって変わるかもしれません。私は術前に2回ほど検診を受けました。

 

1回目の検診ではICLを受けられる状態か検査をしました。

視力や眼圧などさまざまな検査を行い、ICLを受けて問題ないとなったら別日に2回目の検診を受けます。このときに執刀する医師の希望はありますか?と聞かれたので北澤医師にお願いしたいですとお伝えしました。

 

2回目はICLのレンズの度数の最終決定をしました。

私の場合、最高で2.0まで視力を上げられそうでしたが、上げすぎると老眼が早まるリスクがあるのとデスクワークが中心だと眼精疲労がひどくなる可能性があると聞いて1.5を選択しました。

2回検診を受けたらあとは手術当日を待つのみでした。手術の3日前から朝・昼・夕・夜の4回点眼をする必要がありました。

 

手術当日

クリニックに着いたら瞳孔を広げる目薬を点眼し、十分に広がったタイミングで手術室へと案内されました。

瞳孔を広げるとだんだんピントが合わなくなり、周囲のものがぼんやりと見えるのが不思議な感覚でした。

 

手術はおそらく10分もかからなかったのではないかと思います。

北澤医師が次にやることを話しながら手術してくださったので、いきなり何かされて驚いたということはありませんでした。この声かけがなかったら結構不安になっていたと思うのでありがたかったです。

痛みは感じず、目の中にレンズを入れるときに押されている感覚だけありました。

手術中は寝台に寝そべりながら上に照らされたライトを見続ける必要があり、まぶしくて目をちゃんと開けられているのかもよくわかっていませんでした。

あっという間に終わり、このときはまだぼんやり周りが見える状態でふらふらと手術室を出た気がします。

 

術後どうなった?

十数分は院内で目薬をさしていました。術後すぐは涙が出ていたり目に違和感がありましたが、目薬が効いたようでクリニックから出る頃にはだいぶおさまっていました。

家に帰りつくまでは電灯など街の灯りがとても眩しく、帽子をかぶっていって正解だったと思います。

手術当日は基礎化粧品以外のメイクNGで人にあまり見られたくなかったので、帽子にマスク、眼鏡を身につけており不審者っぽい出立ちで逆に目立っていたかもしれません。

 

手術当日は一人で帰宅できるくらいに周囲は見えているもののちょっとぼんやり見えているようなかんじでした。

3つの目薬を1時間 or 2時間おきに点眼するのは結構大変でした。

翌朝起きた瞬間には見える、見えるぞ!状態になっていて感動しました。

眼鏡を探さなくて良くなって最高。

 

翌日も検診のためクリニックに行きました。

視力を測ったところ両目で1.5見えていました。1.5も見えたことはこれまでの人生でなかったかもしれません。

術後1週間検診も受けましたが、視力も変わらず目の状態も問題なかったので次は1ヶ月後に検診を受ける予定です。

 

制限はある

先ほど点眼が大変と書きましたが、手術翌日から1ヶ月後検診まで続きます(1日4回に頻度は減ります)。

また、アイメイクは1週間後までNGなので職業によっては結構厳しさを感じるかもしれません。

手術当日は入浴・シャワーNG、翌日は首から下のシャワーはOK。洗顔・洗髪は翌日までNGなどの制限があります。

その他にも制限があり、それらを考慮して手術のスケジュールを決める必要があります。

私は休み中だったのでほとんど影響なかったですが、翌日まで洗髪NGなのが耐えられず翌日から美容院での洗髪はOKだったので、美容院でヘッドスパを受けました。

あとは1週間外出時に着用する保護メガネがダサいめんどくさかったです。家にペットや小さいお子様がいる方は室内でも目に触れる可能性があるならつけたほうが良いみたいです。うちには猫がいるので夜寝る時は念の為保護メガネを着用して寝ました。

 

まとめ

思い切って手術を決断して良かったです。

リスクがないとは言い切れないですし、術後1週間しか経ってないので不確実な部分はあります。お金も飛びます。が、確実にQOLは上がりました。

他の人の体験談に勇気づけられたところもあるので、この記事も誰かのお役に立てたら嬉しいです。

猫をお迎えした。大変なこともあるけど幸せです。


2024年8月下旬、我が家に猫がやってきた。

これは猫を飼うまでと飼った後の3ヶ月間の記録。

猫を飼いたいと思っている人が読んだら何かしら感じるところがあるかもしれない。

 

 

猫を飼いたい気持ちの芽生え

もともとは犬派だった。実家の近所には犬を飼っている家が多く、自分もいつか犬を飼いたいと思っていた。

Twitterのアイコンを猫にしたのも優秀なエンジニアは猫をアイコンにするという説を見かけたからだった気がする。

当時は駆け出しWebエンジニアで形から入るタイプだった。

それがきっかけかはわからないが猫をネット上で目にする機会が増えてきて、少しずつ猫はかわいいという気持ちが育っていった。

生き物を飼うことへの不安

しかし、動物の命の重みを自分は背負えるんだろうかと悶々としてなかなかお迎えする決断ができなかった。

動物を飼うことを考えると小学生のときのトラウマが蘇ってくる。

クラス全員で一人数匹ずつメダカを飼育することになったのだが、水の交換を怠った結果、クラスで一番早くメダカを死なせてしまった。

この経験から自分はちゃんと動物のお世話を全うできるんだろうかという不安が拭えなかった。

飼うぞ!!

そんな悩みを会社のSlackに書いたところ、猫を飼っている方から「お金はかかるし大変なこともあるけどそれ以上に幸せですよ」という声を複数いただいた。

この声に励まされて家族にも相談して飼ってOKとなったものの、悩みは尽きず飼うまでには至らなかった。

 

そんな中、2024年8月上旬に転機が訪れる。

 

旅行で訪れた長崎県の雲仙地獄でたくさんの野良猫と出会った。

雲仙地獄には温泉卵の販売所があり、店員の方が毎日猫たちにご飯をあげていた。

ちょうど朝ご飯の時間に行ったら猫たちが集まってきており、そこで大量の猫を浴びた私は猫飼いたいメーターが完全に振り切れてしまった。

雲仙地獄の猫たち




猫探しから猫が家に来るまで

そこからの行動は早かったと思う。

猫を飼うならブリーダーのところからと妄想はしており、旅行から帰ってすぐブリーダー直販サイトで猫を探し始めた。

そのサイトでいま一緒に暮らしている猫と出会うことになる。

 

ブリーダーのお店で猫と初対面し引き取ることが決まってからケージやご飯など必要なものを揃えた。

自分のアレルギー検査もしたが猫アレルギーはなかった。

 

お迎えしたのは生後3ヶ月のマンチカンの女の子。

引き取り当日は、お店を出てから家まで2時間くらいかかり、猫にとって初めての騒音や振動を経験させてしまった。ずっと鳴き続けて呼吸も速くなっており、このまま死んでしまったらどうしようという不安との戦いだった。

なんとか家までたどり着いて少し落ち着き始めた姿を見たときは無事に連れて帰れたことに安堵した。

初日の猫氏

猫との暮らし

猫との暮らしが始まった

ブリーダーの方にも1週間はケージでよく休ませてくださいと言われたので遊ぶとき以外はケージの中で生活してもらっていた。

いきなり知らないところに連れてこられた不安からかよく鳴いていたのと、ご飯も最初はあまり食べないので心配だった。

徐々に慣れてきてご飯も食べるようになり、教えなくても猫用のトイレの上で排便してくれて感動したのを覚えている。

お気に入りのハンモック。ケージの中ではよくここでのんびりしていた

ネットの知識に惑わされる

特にお迎えしたばかりの頃は猫の行動の意味が知りたくてネットで逐一検索していた。

うちの子は来たばかりでゴロゴロ言っていたのだが、ネットにはゴロゴロ言うのは愛情表現と書いてあったり警戒していると書いてあったりして「どっちなの?」と混乱した。

ケージから出すタイミングについてもばらばらなことが書いてあって何を信じたらいいのかわからなくなった。

生後6ヶ月まではケージ生活推奨と書いてある記事もあれば、Twitter(現X)を見ると生後3ヶ月くらいでもケージから出て自由に生活している様子の猫を見かけた。

このままだと埒が明かないし猫のことは猫飼いの先輩に直接聞こうと思い、会社で猫を飼っている方に相談してみることにした。

とはいえ、相談する前は漠然と「まだ小さくて危ないからケージから出すのは早すぎるのでは」と考えていた。

 

「目の前の猫と向き合う」

同僚にケージから出すのはまだ早いですかねと相談したところ、「猫は家に付くと言うし家の中で安心できる場所を早めに作ってあげるといいのでは?ネットには多くの情報があるけど目の前の猫と向き合ってあげてください」という旨のアドバイスをいただいた。

これを言われてドキっとした。

たしかに遊ぶときしかケージから出られずにストレスが溜まっていそうな様子は見ていた。

その様子に気づいていながら、ネットの情報に左右されて猫と向き合うことを怠っていた。

事前知識を入れること自体は悪くない。猫に快適に過ごしてもらうにはある程度インプットも必要だと思う。インプットした知識が役立つことはたくさんあった。

だが、それを鵜呑みにして実践したところで目の前の猫が幸せになれなければ意味はない。

これを機にケージから出して一部屋限定ではあるものの行動範囲を広げて自由にしてもらうことにした。

のびのびと動き回っている猫を見たときは嬉しかったし、心配とはいえ人間の都合で閉じ込めてしまっていたことに申し訳なさも感じた。

生後7ヶ月を迎え、避妊手術も終えた今は家の中のほぼすべての部屋を行き来できるようにしており、家に付いてくれた気がしている。

くつろぐ猫氏

 

飼う前に心配していたけど良い意味で予想外だったこと

これらはあくまでうちの猫の話なのですべての猫に当てはまるわけではないが、飼う前と後で印象が変わったことがある。

  • もっとソファをバリバリにされたり、ティッシュの中身を出されたりするかと思っていた。今のところそういう気配はないが、まだ行動範囲を家全体にして間もないのと個体差はあると思う。カーテンが攻撃されたのは想像どおりだった。
  • うんちはご飯によって匂いのきつさが変わる。正直もっと臭いかと思っていたが、生ゴミの匂いよりは全然マシだと思った。これはあくまで個人の感覚だし、私はそこまで鼻が効くほうでもない。
  • 意外と人間の生活に合わせてくれる。朝起きてベッドの上でだらだらスマホを見ているとパンチされたり、人間の上に容赦なく3kgのボディで乗ってくることもあるが、基本は人間が寝ているとそっとしておいてくれる。ただ、これも個体差ありだと思う。

 

猫と暮らす幸せ

猫と暮らしてみて先人たちが言っていた「お金はかかるし大変なこともあるけどそれ以上に幸せですよ」というのは本当にそのとおりだと思った。

ご飯や猫砂などお金が定期的にかかる。病気をすれば一気にお金が飛ぶこともある。トイレの掃除も必要だし衣類や家具についた大量の毛も取らなければならない。

それでもそんな大変さなど吹き飛ぶくらい毎日かわいくて幸せな気持ちにさせてくれる。

 

うんちをしたら「にゃー」と鳴いて知らせてくれるし、飼い主をストーキングしてくる。かと思えば姿が見えず飼い主のベッドの下で寝ていることもある。

夜は飼い主の枕に乗って一緒に寝てくれる。至近距離で毛繕いするペロペロASMRが耳元で聞こえてくる。

朝なかなか起きないと飼い主の顔面にパンチしてきたり、ジャンプに失敗して転げ落ちているのも可愛い。

そんな日常の何気ない行動で生活に彩りを与えてくれる。

もう猫がいない生活はちょっと想像できない。

この記事もネットの中の情報の一部にすぎないしうちの猫に限った話な可能性は高いが、猫とのリアルな生活の形の一つとして誰かの参考になったら嬉しい。これを見て猫を飼いたいという気持ちになったらもっと嬉しい。



パーフェクトRuby on Rails輪読会を完走しました

はじめに

フィヨルドブートキャンプというプログラミングスクール内で開催されていた「パーフェクトRuby on Rails」の輪読会を完走しました。 この記事はその内容をまとめたものです。

  パーフェクト Ruby on Rails 【増補改訂版】 | すがわら まさのり, 前島 真一, 橋立 友宏, 五十嵐 邦明, 後藤 優一 | コンピュータ・IT | Kindleストア | Amazon

いつ始まった?

フィヨルドブートキャンプ受講生の「『パーフェクトRuby on Rails』を読みたいけど、今の自分にはハードルが高いかも...」という声に対して、五十嵐さん*1が「フィヨルドブートキャンプ内で輪読会をやれば良いのでは?」と提案されたことがきっかけで始まりました。 初回が2020年8月9日に開催されているので、約1年かけて読み切ったことになります。

輪読会の概要

毎週日曜の8:30〜10:30にZoomで開催していました。

時間を決めて全員で黙読し、気づいたことやわからなかったことをHackMDに書いて、その内容について議論していくスタイルでした。

6章から9章は例外で、イベント告知アプリケーションとGithub Actionsに関する内容は手を動かしたかったのでモブプログラミングを実施していました。

こちらが実際に使われていたHackMDです。52回もやっていたと思うと感慨深いです。 hackmd.io

章ごとにかかった時間

だいたいこんな感じのペースで読んでいました。

章 期間
1章 1ヶ月弱
2章 1ヶ月
3章 1ヶ月弱
4章 2週間
5章 2週間
6章 2ヶ月
7章 1ヶ月
8章 2ヶ月
9章 2ヶ月弱
10章 1週間
11章 1週間
12章 2週間
13章 2週間

モブプロをしていた6章から9章だけで約7ヶ月かかっています。 もしモブプロしていなかったらおそらく1年はかからなかったのでは、と思います。 時間はかなりかかりましたが、後述するとおり一人で書籍を読んでいるだけではできない経験が積めました。

モブプロで使用していたリポジトリはこちら↓ github.com

良かったこと

わからないことがあってもその場で著者に質問できた

五十嵐さんが毎回参加して質問に答えてくださったのはとにかく贅沢な経験でした。 モブプロのドライバーもやってくださり、あっという間にプルリクエストが出されている様を見て衝撃を受けました。

モブプロでプログラマーの作法的な部分も学べた

モブプロでは、きりのいいところまできたらドライバーがプルリクエストを作成して、他の誰かがレビューしてマージするという手順を踏んでいました。 書籍の内容だけではなく、プルリクエストのdescriptionの書き方、コミットの分け方、コミットメッセージの書き方、Gitの使い方などの作法を学びました。

同じエディタを使っている人の作業を見ることができた

モブプロをやり始めた当初はRubyMineを使いたての頃だったのですが、RubyMineを使っている他の参加者から便利な機能を教えてもらってすごく助かりました。

f:id:hogucc:20210829170429p:plain
五十嵐さんにプルリクエストの書き方を教えてもらった回の参加者の感想その1

f:id:hogucc:20210829170050p:plain
感想その2。この回はGitやエディタの使い方の話でも盛り上がっていた様子

会の運営も経験できた

最初はただの参加者だったのですが、毎回参加していて気づいたら運営メンバーの一人になっていました。 主に以下の仕事をしていました。

  • 輪読会中
    • 司会(HackMDに書かれている内容を拾って議論を促したり、休憩時間をとるタイミングを見極めたり)
    • タイマー係(黙読するときや休憩時間のタイマーをセットする)
  • 輪読会後
    • 各章を何分で読むかの目安時間を決める
    • 章によってどういうスタイルで進めるのが最適かを議論

運営の立場も経験して気づいたのは、輪読会を1年間継続して開催するのはすごく大変ということです。 1年も経てば参加者それぞれの生活に大小さまざまな変化があります。 それでも継続して参加してくれた方がいたり、運営を続けてきたメンバーがいたからこそ完走できたと思っています。 ちなみに、開催してから1年の間に運営に関わったフィヨルドブートキャンプ受講生5人は、全員スクールを卒業してエンジニアになったという裏話があります。

おわりに

運営は大変でしたが、その分学んだこともたくさんあり、最初から最後まで参加して良かったと改めて思います。 参加してくださった皆様、ありがとうございました!

五十嵐さん、1年間大変お世話になりました! いつも丁寧に質問に答えてくださって、五十嵐さんから学んだことがたくさんありました。 ありがとうございました!

自分がレベルアップしたときに読んだら新たな発見がありそうという期待も込めて、少し時間を置いてまた「パーフェクトRuby on Rails 」を読み返してみようと思います。

来週からパーフェクトRuby on Rails輪読会はRailsガイドの輪読会に生まれ変わります。 引き続き運営メンバーとして参加する予定なので良い会にしていきたいな、と思っています。

*1:五十嵐さんは「パーフェクトRuby on Rails 」の著者で、フィヨルドブートキャンプの顧問もされています

brew updateを実行すると、Connection refusedと表示され失敗する

brew updateを実行すると、以下のエラーが表示され落ちてしまった。

$ brew update
fatal: unable to connect to :
[0: ::1]: errno=Connection refused
[1: 127.0.0.1]: errno=Connection refused

Error: Fetching /usr/local/Homebrew failed!

原因はSSHのリモートURLでgitに接続するようにしていたから。 GithubのリモートURLについてはリモートの URL の変更 - GitHub Docs参照。

.gitconfigに以下の2つが定義してあって、このうち[url "git://"]insteadOf = https:/の2行を削除したらbrew updateできた。

[url "https://"]
   insteadOf = git://
[url "git://"]
   insteadOf = https:/

brew updateで落ちたとき、なかなか解決策が見つからず一度homebrewをアンインストールして再インストールしようとした。 すると、再インストール時も以下のエラーで落ちてしまっていた。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Password:
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew

Press RETURN to continue or any other key to abort
==> Downloading and installing Homebrew...
fatal: unable to connect to :
[0: ::1]: errno=Connection refused
[1: 127.0.0.1]: errno=Connection refused

Failed during: git fetch origin --force

ただ、再インストール時はbrew updateのときと違って、Failed during: git fetch origin --forceとログに書かれており、git fetchで失敗していると書かれていたため、これがSSHが原因であることの特定に繋がった。 (ので、アンインストールは全くの無駄足ではない...はず)

その後brew updateも実行して無事成功することも確認できた。

.gitconfigの設定を戻すと再び発生するので、もっと良い解決策があれば知りたい...

テスト環境でマイグレーション未実行の場合にminitestとRSpecを実行するとどうなるか調べた

パーフェクト Ruby on Railsの3章でminitestについて以下のように書かれていました。

テスト環境で未実行のマイグレーションファイルがある場合でも、テスト実行時に自動でdb/schema.rbからテスト用のDB設定をロードするようになったため、基本的には作業をする必要はありません。*1

RSpecではどのような動きになるのか気になったので、minitestも含め試してみました。

minitest

  1. rails new todoでTODOリストを作成するサンプルアプリを作成
  2. rails g scaffold todo content:textでコードを生成(ここでテストコードも生成される)
  3. この時点ではまだ一度もマイグレーションを実行していないので、bin/rails testを実行するとMigrations are pending. To resolve this issue, run:rails db:migrate RAILS_ENV=testのエラーになる
  4. bin/rails db:createとbin/rails db:migrateを実行。development環境に対する実行なので、テスト環境にはまだマイグレーションは適用されていない
  5. この状態でbin/rails testを実行してみるとテスト実行できた。

    Running via Spring preloader in process 23905 Finished in 0.371335s, 21.5439 runs/s, 26.9299 assertions/s. 8 runs, 10 assertions, 0 failures, 0 errors, 0 skips

RSpec

では、RSpecの場合はどうなるか。minitestで確認したときと同じ状態で、以下のRequestSpecを作成し、実行した。

require 'rails_helper'

RSpec.describe "Tasks", type: :request do
  context "index" do
    it "responds successfully" do
      get tasks_path
      expect(response).to have_http_status(200)
    end
  end
end

結果、実行することができた。

$ bin/rspec
Running via Spring preloader in process 23905
.

Finished in 0.16851 seconds (files took 0.38243 seconds to load)
1 example, 0 failures

RSpecでもminitestのようにdb/schema.rbからテスト用のDB設定をロードするようになっているのかは不明だが、テスト環境でマイグレーションを実行していなくてもテストが実行できることがわかった。

*1:schema.rbが最新ではない時などはマイグレートする必要があります。以降、パーフェクト Ruby on Railsから引用。「ただし、schema.rbが最新ではない時など、ロードした後にも未実行のマイグレーションファイルがある場合はエラーになります。その時はbin/rails db:migrateを実行してschema.rbを最新にするか、またはbin/rails db:migrate RAILS_ENV=testコマンドをつかって手動でテスト環境のマイグレーションを実行してください。」

deviseにおけるStrategyパターン

以下の記事でStrategyパターンの例として紹介されていたdeviseを最近使用したので、どのようにStrategyパターンが使用されているかを調べました。

Rubyでのデザインパターンの使用例を説明する!! - エニグモ開発者ブログ

Strategyパターンとは

ある問題に対するアルゴリズムを他の部分と分離して、状況に応じてアルゴリズムを切り替えられるようにするデザインパターン。

deviseにおけるStrategyパターン

deviseはWardenという認証のフレームワークを元に作られています。 Warden::Strategies::Baseのサブクラスを定義することで独自の認証方法を実装することができます。

Warden::Strategies::Base

deviseの場合はDevise::Strategies::BaseがWarden::Strategies::Baseを継承しています。

module Devise
  module Strategies
    class Base < ::Warden::Strategies::Base
      (略)
    end
  end
end

さらにその下に、Devise::Strategies::Baseを継承しているDevise::Strategies::Authenticatableクラスが存在します。

module Devise
  module Strategies
    class Authenticatable < Base
      # このクラスが各認証方法が実装されているクラスのベースになる
    end
  end
end

deviseの認証方法が実装されているクラスはさらに一階層下のDatabaseAuthenticatableクラスと、Rememberableクラスです。

module Devise
  module Strategies
    # Default strategy for signing in a user, based on their email and password in the database.
    class DatabaseAuthenticatable < Authenticatable
      # デフォルトの認証方法。DBに登録されているemailとパスワードを使って認証を行う
    end
  end
end
module Devise
  module Strategies
    class Rememberable < Authenticatable
      # cookieの値を使って認証を行う
    end
  end
end

独自の認証方法に切り替える場合は

  • config/initializers/devise.rbに独自のStrategyの設定方法を追加
# hoge_authenticatableという独自のStrategyを追加する
config.warden do |manager|
    manager.default_strategies(scope: :user).unshift :hoge_authenticatable
    manager.strategies.add(:hoge_authenticatable,
                           Devise::Strategies::HogeAuthenticatable)
end
  • 独自のStrategyクラスを作成する
require 'devise/strategies/authenticatable'

module Devise
  module Strategies
    class HogeAuthenticatable < Authenticatable
    end
  end
end

参考