【Ruby3.x】Module::public_class_method()メソッドの使い方
public_class_methodメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
public_class_methodメソッドは、引数で指定されたクラスメソッドの可視性を変更し、パブリックとして公開するメソッドです。Rubyにおいてクラスメソッドとは、クラスそのものに対して呼び出すメソッドのことで、通常は self.メソッド名 の形式で定義されます。これらのクラスメソッドは、デフォルトでは「パブリック」であり、どこからでも自由に呼び出すことが可能です。しかし、private_class_method や protected_class_method といったメソッドを使用することで、特定のクラスメソッドの可視性を制限し、呼び出し元を限定することができます。public_class_method は、一度プライベートやプロテクテッドに設定されたクラスメソッドを、再び「パブリック」な状態に戻し、どのオブジェクトからもアクセスできるようにするために利用されます。引数には、可視性をパブリックにしたいクラスメソッドの名前をシンボルまたは文字列で指定します。複数のクラスメソッドを一度に指定することも可能です。このメソッドは、プログラムの設計変更や機能の公開範囲調整において、柔軟な対応を可能にする重要な機能の一つです。
構文(syntax)
1class MyClass 2 def self.class_method_a 3 # ... 4 end 5 6 def self.class_method_b 7 # ... 8 end 9 10 public_class_method :class_method_a, :class_method_b 11end
引数(parameters)
*symbols
- symbols: public にしたいクラスメソッド名をシンボルで指定します。
戻り値(return)
self
このメソッドは、呼び出し元のモジュール自身を返します。これは、メソッドチェーンなどで、処理の途中でモジュールを参照したい場合などに便利です。