John Nunemaker recientemente escribió en su blog acerca de la various ways to define class methods en Ruby, dando a estas tres alternativas:¿Cómo prefieres definir los métodos de clase en Ruby?
# Way 1
class Foo
def self.bar
puts 'class method'
end
end
# Way 2
class Foo
class << self
def bar
puts 'class method'
end
end
end
# Way 3
class Foo; end
def Foo.bar
puts 'class method'
end
- ¿Cuál es su mejor forma de hacer esto?
- ¿Prefiere algo distinto a los anteriores?
- Si usa más de una forma, ¿bajo qué circunstancias las usa?