From 07cdd2b5926b21fff262906c9a5e8a74cad94f80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Erik=20Hedenstro=CC=88m?= <erik@erlang.ninja>
Date: Fri, 18 Mar 2016 15:08:10 +0100
Subject: [PATCH] Added function to delete a forward decay.

---
 src/tsuru.app.src                 | 2 +-
 src/tsuru_forward_decay.erl       | 5 +++++
 test/tsuru_forward_decay_test.erl | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/tsuru.app.src b/src/tsuru.app.src
index aca9ef5..5f373cb 100644
--- a/src/tsuru.app.src
+++ b/src/tsuru.app.src
@@ -1,5 +1,5 @@
 {application, tsuru, [{description, "A collection of useful tools for Erlang applications"},
-    {vsn, "1.3.0"},
+    {vsn, "1.4.0"},
     {applications, [kernel, stdlib]},
     {modules, []},
     {registered, []},
diff --git a/src/tsuru_forward_decay.erl b/src/tsuru_forward_decay.erl
index c031772..c2a0c3d 100644
--- a/src/tsuru_forward_decay.erl
+++ b/src/tsuru_forward_decay.erl
@@ -3,6 +3,7 @@
 -export([
     new/0,
     new/3,
+    delete/1,
     set_block_count/2,
     set_landmark/1,
     set_landmark/2,
@@ -31,6 +32,10 @@
 new() ->
     new(seconds, 1, infinity).
 
+-spec delete(forward_decay()) -> true.
+delete(#forward_decay{events = Events}) ->
+    ets:delete(Events).
+
 -spec new(erlang:time_unit(), pos_integer(), pos_integer() | infinity) -> forward_decay().
 new(TimeUnit, BlockSize, BlockCount) ->
     Events = ets:new(events, [ordered_set, {write_concurrency, true}]),
diff --git a/test/tsuru_forward_decay_test.erl b/test/tsuru_forward_decay_test.erl
index 775360f..bd6814a 100644
--- a/test/tsuru_forward_decay_test.erl
+++ b/test/tsuru_forward_decay_test.erl
@@ -11,6 +11,7 @@ basic_test() ->
         fun({Time, Value}, ForwardDecay) ->
             case tsuru_forward_decay:add_event(Time, Value, ForwardDecay) of
                 {ok, NewForwardDecay} ->
+                    tsuru_forward_decay:delete(ForwardDecay),
                     NewForwardDecay;
                 ok ->
                     ForwardDecay
-- 
GitLab