¿Cómo enumero todos los objetos creados a partir de una clase en Ruby? [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Cómo encontrar cada instancia de una clase en Ruby 1 respuesta¿Hay alguna manera en Ruby para que una clase sepa cuántas instancias existen y puede enumerarlas?
Aquí hay una muestra de clase:
class Project
attr_accessor :name, :tasks
def initialize(options)
@name = options[:name]
@tasks = options[:tasks]
end
def self.all
# return listing of project objects
end
def self.count
# return a count of existing projects
end
end
Ahora creo objetos de proyecto de esta clase:
options1 = {
name: 'Building house',
priority: 2,
tasks: []
}
options2 = {
name: 'Getting a loan from the Bank',
priority: 3,
tasks: []
}
@project1 = Project.new(options1)
@project2 = Project.new(options2)
Lo que me gustaría es tener métodos de clase comoProject.all
yProject.count
Para devolver un listado y recuento de proyectos actuales.
¿Cómo hago esto?