Add Erlang version

This commit is contained in:
Marc Philipp committed 2018-03-05 19:38:49 +01:00
1 parent 27f2a40cc8
commit 0efdf47d27
8 files changed
+152

No files matched your search

+1
View File
@@ -0,0 +1 @@
{application, gilded_rose, [{vsn, "0.1"}]}.
+87
View File
@@ -0,0 +1,87 @@
-module(gilded_rose).
-include("gilded_rose.hrl").
-export([
update_quality/1
]).
-spec update_quality([#item{}]) -> [#item{}].
update_quality(Items) ->
lists:map(fun update_item/1, Items).
-spec update_item(#item{}) -> #item{}.
update_item(Item = #item{name = Name}) ->
Item1 = if
Name /= "Aged Brie" andalso Name /= "Backstage passes to a TAFKAL80ETC concert" ->
if
Item#item.quality > 0 ->
if
Name /= "Sulfuras, Hand of Ragnaros" ->
Item#item{quality = Item#item.quality - 1};
true ->
Item
end;
true ->
Item
end;
true ->
if
Item#item.quality < 50 ->
Item2 = Item#item{quality = Item#item.quality + 1},
if
Name == "Backstage passes to a TAFKAL80ETC concert" ->
Item3 = if
Item2#item.sell_in < 11 ->
if
Item2#item.quality < 50 ->
Item2#item{quality = Item2#item.quality + 1};
true -> Item2
end;
true -> Item2
end,
if
Item3#item.sell_in < 6 ->
if
Item3#item.quality < 50 ->
Item3#item{quality = Item3#item.quality + 1};
true -> Item3
end;
true -> Item3
end;
true -> Item2
end;
true -> Item
end
end,
Item4 = if
Name /= "Sulfuras, Hand of Ragnaros" ->
Item1#item{sell_in = Item1#item.sell_in - 1};
true -> Item1
end,
if
Item4#item.sell_in < 0 ->
if
Name /= "Aged Brie" ->
if
Name /= "Backstage passes to a TAFKAL80ETC concert" ->
if
Item4#item.quality > 0 ->
if
Name /= "Sulfuras, Hand of Ragnaros" ->
Item4#item{quality = Item4#item.quality - 1};
true -> Item4
end;
true -> Item4
end;
true -> Item4#item{quality = Item4#item.quality - Item4#item.quality}
end;
true ->
if
Item4#item.quality < 50 ->
Item4#item{quality = Item4#item.quality + 1};
true -> Item4
end
end;
true -> Item4
end.