Your use of the module Animal
is wrong. Using it as a namespace does not do anything good for your purpose. You should include them.
module Animals
attr_accessor :name, :color, :age
end
class Dog
include Animals
end
class Cat
include Animals
end
class Rodent
include Animals
end
Or, you can turn Animal
into a class, and subclass from that.
class Animals
attr_accessor :name, :color, :age
end
class Dog < Animals
end
class Cat < Animals
end
class Rodent < Animals
end
By the way, a class already implies that it has possibly multiple instances, so it is redundant to have a plural name for a class. And you are also inconsistent about it.