GildedRose-Refactoring-Kata/elixir/lib/guilded_rose/handlers/default_handler.ex
2021-01-29 23:38:18 -07:00

13 lines
387 B
Elixir

defmodule DefaultHandler do
alias Utils.Quality
@behaviour ItemHandler
def is_handled?(item_name), do: true
def handle(item = %{ sell_in: sell_in }) when sell_in - 1 < 0, do:
%{item | sell_in: sell_in - 1, quality: Quality.calculate(item.quality - 2) }
def handle(item), do:
%{item | sell_in: item.sell_in - 1, quality: Quality.calculate(item.quality - 1) }
end