tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

【ruby】クラスメソッド

クラスメソッドを定義する際はselfをメソッド名の前につける。
クラスメソッドはmodelクラスのレコードを検索するとか、作成されたインスタンスの数をカウントするとか、クラスの新しいインスタンスを作る等、個々のインスタンスには紐づけずクラスに対して働きかけるメソッド。
呼び出す際はクラス名.メソッド名

def self.メソッド名

end
#呼び出す際(例)
User.メソッド名

インスタンスメソッドの場合はselfをつけない。
インスタンスメソッドはそれぞれのインスタンスに対して参照・更新するようなメソッドとして使う。
呼び出す際はインスタンス.メソッド名

def メソッド名

end

#呼び出す際(例)
@user.メソッド名

参考 http://rails.hatenadiary.jp/entry/2013/02/15/125047 https://26gram.com/ruby-class-and-instance-methods