注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
今までprivateメソッドは、定義元のクラスのコンテキストでしか実行できないと思っていました。なので、... 今までprivateメソッドは、定義元のクラスのコンテキストでしか実行できないと思っていました。なので、テストの時とかにはprivateメソッドをテストせずに、そのメソッドを使っているメソッドのテストで済ませていました。また、irbとか、script/console使う時にも凄い苦労した。 でも、あったんですね(汗) priavteメソッドをコンテキスト外から使う方法 sendメソッドを使う sendを使えばレシーバを指定して実行できます。 class Hoge private def hoge(x) x end end h = Hoge.new h.send(:hoge, 1) #=> 1 また、instance_evalを使うという方法もあります。これは、ブロック内がレシーバのコンテキストで評価されるために できるテクニックです。 h = Hoge.new h.instance_eva
2008/05/19 リンク