> On Sep 4, 2014, at 5:47 PM, Andrew Vit <andrew / avit.ca> wrote:
>=20
> However, the "true" OOP way is to create a PetsCollection, which internall=
y stores your hash (or array)

This is correct except that=20

(a) OOP doesn't say you can't use Hash directly if its interface works for y=
ou, and

(b) OOP doesn't say you need to put the type of a thing in its name (despite=
 all the ServiceFactoryController nonsense out there). Do we call you Andrew=
Human or just Andrew? "Pets" works fine as a class name, or "Zoo" or "Family=
" if you want to get whimsical.=20

class Pets
  def initialize
    @index =3D {}
  end
  def add(pet)
    @index[pet.name] =3D pet
  end
  ...

 - A
 =20=