From 60255face280d8d867337d5723f0d8885909571f Mon Sep 17 00:00:00 2001 From: Jeffry Degrande Date: Thu, 19 Jul 2018 20:07:12 -0700 Subject: [PATCH 1/2] Fix crash when using global FirebasePushid.Cache --- lib/firebase_pushid.ex | 9 ++++++--- test/firebase_pushid_test.exs | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/firebase_pushid.ex b/lib/firebase_pushid.ex index 31ed721..468adb7 100644 --- a/lib/firebase_pushid.ex +++ b/lib/firebase_pushid.ex @@ -70,9 +70,12 @@ defmodule FirebasePushid do [3, 0] """ def increment_list(list) when is_list(list), do: Bump.call(list) - def increment_list(data) when is_pid(data) do - new_list = Cache.random_nums(data) - |> Bump.call() + + def increment_list(data) when is_pid(data) or data == Cache do + new_list = + Cache.random_nums(data) + |> Bump.call() + Cache.set_random_nums(data, new_list) end diff --git a/test/firebase_pushid_test.exs b/test/firebase_pushid_test.exs index b390ff3..13d5193 100644 --- a/test/firebase_pushid_test.exs +++ b/test/firebase_pushid_test.exs @@ -21,4 +21,8 @@ defmodule FirebasePushidTest do another_id = next_id(data, 1510666856950) assert String.slice(another_id, 0..7) != "-Kyukibf" end + + test "Multiple calls with FirebasePushid.Cache" do + for _ <- 1..100, do: generate + end end From 9f5499f2c3b321a22d2b2e4bc7802008d46a1302 Mon Sep 17 00:00:00 2001 From: Jeffry Degrande Date: Thu, 19 Jul 2018 20:08:26 -0700 Subject: [PATCH 2/2] fix warnings --- test/firebase_pushid_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/firebase_pushid_test.exs b/test/firebase_pushid_test.exs index 13d5193..3d8e8ea 100644 --- a/test/firebase_pushid_test.exs +++ b/test/firebase_pushid_test.exs @@ -4,7 +4,7 @@ defmodule FirebasePushidTest do import FirebasePushid test 'generate' do - assert generate + assert generate() end test "new_id" do @@ -23,6 +23,6 @@ defmodule FirebasePushidTest do end test "Multiple calls with FirebasePushid.Cache" do - for _ <- 1..100, do: generate + for _ <- 1..100, do: generate() end end