https://github.com/alexreisner/geocoder
私は Ruby Geocoder Gem が大好きで、そのすべてが驚くべきメタプログラミングであり、そのほとんどは単純に理解できません。
Geocoder::Request モジュールの下部で何が起こっているか知っている人はいますか?
私を当惑させる単純な 3 行のブロックがあります。
実際にはモジュール定義の外側にあり、次のように読み取ります
if defined?(Rack) and defined?(Rack::Request)
Rack::Request.send :include, Geocoder::Request
end
Rack::Request には事前定義メソッド .include がないため、ここで何が起こっているのかわかりません。