Updated

. / gilded_rose.rb

B
53 lines of codes
1 methods
73.6 complexity/method
1 churn
73.64 complexity
0 duplications
require './item.rb' class GildedRose
  1. GildedRose has no descriptive comment
def update_quality(items)
  1. GildedRose#update_quality has a flog score of 74
  2. GildedRose#update_quality has approx 9 statements
  3. GildedRose#update_quality doesn't depend on instance state (maybe move it to another class?)
items.each do |item| if item.name != 'Aged Brie' && item.name != 'Backstage passes to a TAFKAL80ETC concert'
  1. GildedRose#update_quality calls 'item.name != 'Aged Brie'' 2 times Locations: 0 1
  2. GildedRose#update_quality calls 'item.name != 'Backstage passes to a TAFKAL80ETC concert'' 2 times Locations: 0 1
  3. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
if item.quality > 0
  1. GildedRose#update_quality calls 'item.quality > 0' 2 times Locations: 0 1
  2. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
if item.name != 'Sulfuras, Hand of Ragnaros'
  1. GildedRose#update_quality calls 'item.name != 'Sulfuras, Hand of Ragnaros'' 3 times Locations: 0 1 2
  2. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
  3. GildedRose tests 'item.name != 'Sulfuras, Hand of Ragnaros'' at least 3 times Locations: 0 1 2
item.quality -= 1
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
end end else if item.quality < 50
  1. GildedRose#update_quality calls 'item.quality < 50' 4 times Locations: 0 1 2 3
  2. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
  3. GildedRose tests 'item.quality < 50' at least 4 times Locations: 0 1 2 3
item.quality += 1
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
if item.name == 'Backstage passes to a TAFKAL80ETC concert'
  1. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
if item.sell_in < 11
  1. GildedRose#update_quality calls 'item.sell_in' 4 times Locations: 0 1 2 3
if item.quality < 50
  1. GildedRose#update_quality calls 'item.quality < 50' 4 times Locations: 0 1 2 3
  2. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
  3. GildedRose tests 'item.quality < 50' at least 4 times Locations: 0 1 2 3
item.quality += 1
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
end end if item.sell_in < 6
  1. GildedRose#update_quality calls 'item.sell_in' 4 times Locations: 0 1 2 3
if item.quality < 50
  1. GildedRose#update_quality calls 'item.quality < 50' 4 times Locations: 0 1 2 3
  2. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
  3. GildedRose tests 'item.quality < 50' at least 4 times Locations: 0 1 2 3
item.quality += 1
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
end end end end end if item.name != 'Sulfuras, Hand of Ragnaros'
  1. GildedRose#update_quality calls 'item.name != 'Sulfuras, Hand of Ragnaros'' 3 times Locations: 0 1 2
  2. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
  3. GildedRose tests 'item.name != 'Sulfuras, Hand of Ragnaros'' at least 3 times Locations: 0 1 2
item.sell_in -= 1
  1. GildedRose#update_quality calls 'item.sell_in' 4 times Locations: 0 1 2 3
end if item.sell_in < 0
  1. GildedRose#update_quality calls 'item.sell_in' 4 times Locations: 0 1 2 3
if item.name != "Aged Brie"
  1. GildedRose#update_quality calls 'item.name != 'Aged Brie'' 2 times Locations: 0 1
  2. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
if item.name != 'Backstage passes to a TAFKAL80ETC concert'
  1. GildedRose#update_quality calls 'item.name != 'Backstage passes to a TAFKAL80ETC concert'' 2 times Locations: 0 1
  2. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
if item.quality > 0
  1. GildedRose#update_quality calls 'item.quality > 0' 2 times Locations: 0 1
  2. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
if item.name != 'Sulfuras, Hand of Ragnaros'
  1. GildedRose#update_quality calls 'item.name != 'Sulfuras, Hand of Ragnaros'' 3 times Locations: 0 1 2
  2. GildedRose#update_quality calls 'item.name' 8 times Locations: 0 1 2 3 4 5 6
  3. GildedRose tests 'item.name != 'Sulfuras, Hand of Ragnaros'' at least 3 times Locations: 0 1 2
item.quality -= 1
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
end end else item.quality = item.quality - item.quality
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
end else if item.quality < 50
  1. GildedRose#update_quality calls 'item.quality < 50' 4 times Locations: 0 1 2 3
  2. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
  3. GildedRose tests 'item.quality < 50' at least 4 times Locations: 0 1 2 3
item.quality += 1
  1. GildedRose#update_quality calls 'item.quality' 14 times Locations: 0 1 2 3 4 5 6 7 8 9 10 11 12
end end end end end end