From b4bdaabb873c6b7d4663c47858a5139b72655439 Mon Sep 17 00:00:00 2001 From: Omar Shariff Date: Fri, 29 Apr 2016 19:38:55 +0800 Subject: [PATCH 1/2] Adds implementation for Conjured Items --- gilded_rose.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gilded_rose.rb b/gilded_rose.rb index e177a49..f513cf8 100644 --- a/gilded_rose.rb +++ b/gilded_rose.rb @@ -10,6 +10,9 @@ def update_quality() if item.quality > 0 if item.name != "Sulfuras, Hand of Ragnaros" item.quality = item.quality - 1 + if item.name == "Conjured Item" + item.quality = item.quality - 1 + end end end else @@ -38,6 +41,9 @@ def update_quality() if item.quality > 0 if item.name != "Sulfuras, Hand of Ragnaros" item.quality = item.quality - 1 + if item.name == "Conjured Item" + item.quality = item.quality - 1 + end end end else From 8890ba3e14ddfa03629aaf19ab9e3a74bfd43def Mon Sep 17 00:00:00 2001 From: Omar Shariff Date: Fri, 29 Apr 2016 20:10:50 +0800 Subject: [PATCH 2/2] Initial refactor - ugly but readable --- gilded_rose.rb | 65 ++++++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 39 deletions(-) diff --git a/gilded_rose.rb b/gilded_rose.rb index f513cf8..d44f78f 100644 --- a/gilded_rose.rb +++ b/gilded_rose.rb @@ -6,55 +6,42 @@ def initialize(items) def update_quality() @items.each do |item| - if item.name != "Aged Brie" and item.name != "Backstage passes to a TAFKAL80ETC concert" - if item.quality > 0 - if item.name != "Sulfuras, Hand of Ragnaros" - item.quality = item.quality - 1 - if item.name == "Conjured Item" - item.quality = item.quality - 1 - end + case item.name + when "Backstage passes to a TAFKAL80ETC concert" + if item.quality < 50 + item.quality += 1 + if item.sell_in < 6 && item.quality < 50 + item.quality += 2 + elsif item.sell_in < 11 && item.quality < 50 + item.quality += 1 end end - else + if item.sell_in < 1 + item.quality = 0 + end + when "Aged Brie" if item.quality < 50 item.quality = item.quality + 1 - if item.name == "Backstage passes to a TAFKAL80ETC concert" - if item.sell_in < 11 - if item.quality < 50 - item.quality = item.quality + 1 - end - end - if item.sell_in < 6 - if item.quality < 50 - item.quality = item.quality + 1 - end - end + end + when "Sulfuras, Hand of Ragnaros" + when "Conjured Item" + if item.quality > 0 + item.quality = item.quality - 2 + if item.sell_in < 0 && item.quality > 0 + item.quality = item.quality - 2 + end + end + else + if item.quality > 0 + item.quality = item.quality - 1 + if item.sell_in < 0 && item.quality > 0 + item.quality = item.quality - 1 end end end if item.name != "Sulfuras, Hand of Ragnaros" item.sell_in = item.sell_in - 1 end - if item.sell_in < 0 - if item.name != "Aged Brie" - if item.name != "Backstage passes to a TAFKAL80ETC concert" - if item.quality > 0 - if item.name != "Sulfuras, Hand of Ragnaros" - item.quality = item.quality - 1 - if item.name == "Conjured Item" - item.quality = item.quality - 1 - end - end - end - else - item.quality = item.quality - item.quality - end - else - if item.quality < 50 - item.quality = item.quality + 1 - end - end - end end end end