GildedRose-Refactoring-Kata/perl6/lib/GildedRose.pm6
2017-07-14 16:27:14 +03:00

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;
}
};