Ruby Programming Techniques: einfache, aber nicht so einfache Objektmanipulation

Ich möchte ein Objekt erstellen, sagen wir einen Kuchen.

class Pie 
  def initialize(name, flavor) 
    @name = name 
    @flavor = flavor 
  end 
end

Aber eine Torte kann in 8 Teile, eine halbe oder eine ganze Torte geteilt werden. Aus Gründen der Argumentation würde ich gerne wissen, wie ich jedem Pie-Objekt einen Preis pro 1/8, 1/4 oder pro Ganzes geben könnte. Ich könnte dies tun, indem ich:

class Pie 
  def initialize(name, flavor, price_all, price_half, price_piece) 
    @name = name 
    @flavor = flavor 
    @price_all = price_all
    @price_half = price_half
    @price_piece = price_piece
  end 
end 

Aber jetzt würde ich, wenn ich fünfzehn Pie-Objekte erstellen würde, zufällig einige Teile herausnehmen, indem ich eine Methode wie @ verwend

getPieceOfPie(pie_name)

Wie kann ich den Wert aller verfügbaren, vollständigen Kuchen und der verbleibenden Stücke ermitteln? Verwenden Sie eventuell eine Methode wie:

   myCurrentInventoryHas(pie_name)
   # output: 2 whole strawberry pies and 7 pieces.

Ich weiß, ich bin ein Ruby Nuby. Vielen Dank für Ihre Antworten, Kommentare und Hilfe!