やったこと
private なクラスメソッドを定義する方法を調べました。
確認環境
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
調査
private.rb
class Sample
private
def self.hoge1
'hoge1'
end
def self.hoge2
'hoge2'
end
private_class_method :hoge2
class << self
private
def hoge3
'hoge3'
end
end
end
# 呼び出せる
p Sample.hoge1
# 例外発生
# p Sample.hoge2
# 例外発生
# p Sample.hoge3
出力結果
$ ruby private.rb
"hoge1"
参考
- プロを目指す人のためのRuby入門