2016-03-28 8 views
2

次のメソッドをsome_protectedで保護してもプライベートにすることはできますか?継承なしで実装する必要があります。保護されたシングルトンメソッドを作成する方法

module Sample 
    def self.some_public 
    some_protected 
    end 

    protected 

    def self.some_protected 
    puts 'Bingo!' 
    end 
end 

Sample::some_public  # Bingo! 
Sample::some_protected # Bingo! (but expected an error that method is not accessible) 
+0

なぜこのメソッドを_protected_にしたいですか?クラスメソッドを使って作業するとき、私には分かりません。 –

+0

おそらく。正確に何が間違っていると思いますか? – Kirby

+0

達成したいのは何ですか? –

答えて

2

おそらくシングルトンクラス内での作業が最も簡単です。

module Sample; end 

class <<Sample 
    def some_public 
    some_protected 
    end 
    protected def some_protected 
    puts 'Bingo!' 
    end 
end 
+0

ええ、それは私が必要なものです。 – Kirby

関連する問題