Preparations for replacing case statement with polymorphism.
Introduces a factory method for creating instances of InventoryItem.
Turns the GildedRose methods and the InventoryItem inside out.
Adds the specializations of InventoryItem.
Mechanically convet to use hook methods in the subclasses.
Simplifies the AgedBrie class.
Simplifies the BackstagePass class.
Simplifies the ConjuredItem class.
Simplifies the LegendaryItem class.
Simplifies the StandardItem class.
Pushes the expired? guard into the template method.
Moves the InventoryItem subclasses inside the IntentoryItem namespace.
Introduces the InventoryItemFactory class.
Refactors the InventoryItemFactory class to lookup configuration as data rather than code.
Removes default delta value in the #decrease_quality and #increase_quality methods.
Drops perform from various method names.
Merge branch 'replace_case_with_polymorphism'