こんにちは、hachi8833です。先日の記事「[Rails5] Active Support Core ExtensionsのStringクラス(2)html_safe」を書いていて見つけた、module_functionの使い方を別記事にいたしました。 条件 Rubyバージョン: 3.2.0 Railsバージョン: 7.0.2のActive Support モジュールでのメソッド定義とmodule_function Active SupportのERBクラスを見てみると、Utilモジュールが定義されており、Ruby標準のERBライブラリをオーバーライドします。 ERBクラスはざっくり以下のような構成になっています。 # ERBクラスの構成 class ERB module Util def メソッド1 ... end module_function :メソッド1 def メソッド2 .
![[Ruby] module_functionでモジュールの特異メソッドを簡潔に書く|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/fd567c3c9675dd06ec43413bc91e059d43505159/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2016%2F12%2Fruby_module_function_singular_methods_eyecatch-min.png)