diff --git a/ruby/lib/gilded_rose.rb b/ruby/lib/gilded_rose.rb index 7df0d841..1391ab70 100644 --- a/ruby/lib/gilded_rose.rb +++ b/ruby/lib/gilded_rose.rb @@ -43,6 +43,7 @@ class GildedRose if !item.name.downcase.match /backstage/ update_normal_quality(item) unless sulfuras?(item) + else item.quality = 0 end @@ -67,7 +68,7 @@ class GildedRose end def self.special_item?(item) - !item.name.downcase.match( /Aged Brie/ || /backstage/) || !sulfuras?(item) + item.name.downcase.match( /Aged Brie/ || /backstage/).nil? || sulfuras?(item) end end diff --git a/ruby/spec/gilded_rose_spec.rb b/ruby/spec/gilded_rose_spec.rb index bad4c271..f8db334d 100644 --- a/ruby/spec/gilded_rose_spec.rb +++ b/ruby/spec/gilded_rose_spec.rb @@ -120,7 +120,7 @@ let(:sulfarus) { Item.new('Sulfuras, Hand of Ragnaros', 50, 80) } end it 'returns true for backstage passes' do - item_double = double :item, name: "backstage pass for gong party" + item_double = double :item, name: "Backstage passes to a TAFKAL80ETC concert" expect(GildedRose.special_item?(item_double)).to eq true end @@ -128,6 +128,11 @@ let(:sulfarus) { Item.new('Sulfuras, Hand of Ragnaros', 50, 80) } sulfuras_double = double :selfarus, name: 'Sulfuras' expect(GildedRose.special_item?(sulfuras_double)).to eq true end + + it 'returns false on potato' do + item_double = double :item, name: "potato" + expect(GildedRose.sulfuras?(item_double)).to eq false + end end