mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-11 20:02:09 +00:00
67 lines
1.3 KiB
Raku
67 lines
1.3 KiB
Raku
use v6;
|
|
|
|
use Item;
|
|
|
|
class GildedRose {
|
|
has Item @.items;
|
|
|
|
method update_quality {
|
|
for @!items -> $item {
|
|
if ($item.name ne 'Aged Brie' && $item.name ne 'Backstage passes to a TAFKAL80ETC concert') {
|
|
if ( $item.quality > 0 ) {
|
|
if ( $item.name ne 'Sulfuras, Hand of Ragnaros' ) {
|
|
$item.quality = $item.quality - 1;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
if ( $item.quality < 50 ) {
|
|
$item.quality = $item.quality + 1;
|
|
|
|
if ( $item.name eq 'Backstage passes to a TAFKAL80ETC concert' )
|
|
{
|
|
if ( $item.sell_in < 11 ) {
|
|
if ( $item.quality < 50 ) {
|
|
$item.quality = $item.quality + 1;
|
|
}
|
|
}
|
|
|
|
if ( $item.sell_in < 6 ) {
|
|
if ( $item.quality < 50 ) {
|
|
$item.quality = $item.quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ( $item.name ne 'Sulfuras, Hand of Ragnaros' ) {
|
|
$item.sell_in = $item.sell_in - 1;
|
|
}
|
|
|
|
if ( $item.sell_in < 0 ) {
|
|
if ( $item.name ne 'Aged Brie' ) {
|
|
if ( $item.name ne
|
|
'Backstage passes to a TAFKAL80ETC concert' )
|
|
{
|
|
if ( $item.quality > 0 ) {
|
|
if ( $item.name ne 'Sulfuras, Hand of Ragnaros' ) {
|
|
$item.quality = $item.quality - 1;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$item.quality = $item.quality - $item.quality;
|
|
}
|
|
}
|
|
else {
|
|
if ( $item.quality < 50 ) {
|
|
$item.quality = $item.quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
};
|