Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Moduleクラス > public_class_method

instance method Module#public_class_method

public_class_method(*name) -> self[permalink][rdoc]

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を public に変更します。

[PARAM] name:
0 個以上の StringSymbol を指定します。

例:

class Foo
  def self.foo
    "foo"
  end

  private_class_method :foo
end

Foo.foo # NoMethodError: private method `foo' called for Foo:Class

Foo.public_class_method(:foo) # => Foo
Foo.foo # => "foo"