GildedRose-Refactoring-Kata/io/io/GildedRose.io
2024-12-13 01:33:28 +01:00

66 lines
2.3 KiB
Io

GildedRose := Object clone do(
init := method(
self items := list()
)
with := method(items,
result := self clone
result items = items
result
)
updateQuality := method(
for(i, 0, items size - 1,
if (items at(i) name != "Aged Brie" and
items at(i) name != "Backstage passes to a TAFKAL80ETC concert",
if (items at(i) quality > 0,
if (items at(i) name != "Sulfuras, Hand of Ragnaros",
items at(i) quality = items at(i) quality - 1
)
)
,
if (items at(i) quality < 50,
items at(i) quality = items at(i) quality + 1
if (items at(i) name == "Backstage passes to a TAFKAL80ETC concert",
if (items at(i) sellIn < 11,
if (items at(i) quality < 50,
items at(i) quality = items at(i) quality + 1
)
)
if (items at(i) sellIn < 6,
if (items at(i) quality < 50,
items at(i) quality = items at(i) quality + 1
)
)
)
)
)
if (items at(i) name != "Sulfuras, Hand of Ragnaros",
items at(i) sellIn = items at(i) sellIn - 1
)
if (items at(i) sellIn < 0,
if (items at(i) name != "Aged Brie",
if (items at(i) name != "Backstage passes to a TAFKAL80ETC concert",
if (items at(i) quality > 0,
if (items at(i) name != "Sulfuras, Hand of Ragnaros",
items at(i) quality = items at(i) quality - 1
)
)
,
items at(i) quality = items at(i) quality - items at(i) quality
)
,
if (items at(i) quality < 50,
items at(i) quality = items at(i) quality + 1
)
)
)
)
)
)