方法
Module#private_constant
を使う
class MyClass MY_CONSTANT = 'Value' MY_CONSTANT_B = 'Value B' private_constant :MY_CONSTANT, :MY_CONSTANT_B end
まとめ
Private constants in Ruby というページを見た
いろんな状況の中から、たとえばマジックナンバー撲滅のために定数に書き出すという場面があるとおもう
でもそれがクラスやモジュール、その内部だけで扱われるなら、外部から見えなくする...コードとして明示的に書くことで、「3ヶ月後の自分」が「ああコレは内部的に扱うだけなんだな」と、どこまで使われているのか、その範囲をスッと理解できるようになると思う
「3ヶ月後の自分」: コードを書きはしたものの、どういう意図でキモチで設計で書いたのかを忘れてしまった状態を指す; もう一度思い出すのにコードを読んで理解する必要があり、一定以上の時間を要する