railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

moduleでprivate methodを定義する

classだと下記のようにprivate methodを定義できると思います。

class Hoge
  def public_method1
    ....
  end

  private
  def private_method1
    ...
  end

しかし、moduleでは方法が少し違います。

module Hoge
  def public_method1
    ....
  end

  def private_method1
    ...
  end
  
  private_class_method :private_method1

定義したメソッドよりも下にprivate_class_methodを書くのがポイントね。 上に書くとprivate_method1なんてありません!ってrubyに怒られます。