Ruby

rails 6.0.3 で api mode にした時の diff

主な違い frontend 関連のファイルがごっそり消えている sass や cabipara など、rails での view 出力に関わるライブラリが消えている view に関わるファイルも消えている config/application.rb での設定が変わっている api サーバーに必要な gem のみ inc…

rack-cors から CORS を理解する

web の仕様を理解するにはドキュメントを読み、その仕様の実装を見てみるのが良い方法だと思う。 ruby の CORS の制御を実装している rack-cors から CORS を理解する。 CORS について rack-cors https://github.com/cyu/rack-cors CORS について Cross Orig…

Ruby の throw と catch の実例

Ruby では大体のケースでは例外を begin-raise-rescue で実行箇所を移しているのでは。 なので throw と catch を使う機会はあんまりないように思う。 そんな中、実際に使われているところを見つけたので紹介。 throw と catch を上手く利用しているライブラ…

rack を理解する

https://github.com/rack/rack rack は Ruby web application 開発のためにいい感じのインターフェースを提供してくれる。 HTTP Request/Response をラップしてくれることで、web server や web framework、その間にある middleware の API を 1 つのメソッ…

ruby のメソッド呼び出しと method_missing

Ruby で特定のクラスのインスタンスに対してメソッドを呼び出した時、まずはクラスに存在しているインスタンスメソッドから探す。 そのクラスに該当のインスタンスメソッドがなければ、継承チェーンを上ってインスタンスメソッドを探す。 例えば下記のような…