I know that self
is the instance inside of an instance method. So, then, is self
the class inside of a class method? E.g., Will the following work in Rails?
class Post < ActiveRecord::Base
def self.cool_post
self.find_by_name("cool")
end
end
That is correct. self
inside a class method is the class itself. (And also inside the class definition, such as the self
in def self.coolpost
.)
You can easily test these tidbits with irb:
class Foo
def self.bar
puts self.inspect
end
end
Foo.bar # => Foo