Ruby で内部クラスを private にする場合どうするのがよいかと思っていたんですが private_constant を使うのがいいみたい。 private_constant があるのでそれを使えばそれっぽい気がします https://t.co/79ySXXyQ7l— Pocke(ぽっけ) (@p_ck_) 2017年8月8日 class X class A end class B end private_constant :B def self.B_new B.new end end # OK X::A.new # Error: private constant X::B referenced (NameError) # X::B # OK X.B_new