diff --git a/lib/fun_core/basic_signup_whitelist.ex b/lib/fun_core/basic_signup_whitelist.ex new file mode 100644 index 0000000..9f0d603 --- /dev/null +++ b/lib/fun_core/basic_signup_whitelist.ex @@ -0,0 +1,19 @@ +defmodule FunCore.BasicSignupWhitelist do + def normalize(email) do + email |> String.trim() |> String.downcase() + end + + def addresses_as_list(addresses_str) do + addresses_str + |> String.split(",") + |> Enum.map(&normalize/1) + end + + def mail_whitelisted_fun(signups_allowed, email_received) do + case signups_allowed do + nil -> false + "*" -> true + list_str -> normalize(email_received) in addresses_as_list(list_str) + end + end +end diff --git a/test/fun_core/basic_signup_whitelist_test.exs b/test/fun_core/basic_signup_whitelist_test.exs index b63e0f1..ddb2f37 100644 --- a/test/fun_core/basic_signup_whitelist_test.exs +++ b/test/fun_core/basic_signup_whitelist_test.exs @@ -1,23 +1,6 @@ defmodule FunCore.BasicSignupWhitelistTest do use ExUnit.Case - - defp normalize(email) do - email |> String.trim() |> String.downcase() - end - - defp addresses_as_list(addresses_str) do - addresses_str - |> String.split(",") - |> Enum.map(&normalize/1) - end - - def mail_whitelisted_fun(signups_allowed, email_received) do - case signups_allowed do - nil -> false - "*" -> true - list_str -> normalize(email_received) in addresses_as_list(list_str) - end - end + import FunCore.BasicSignupWhitelist test "addresses_as_list" do assert addresses_as_list("joe@example.com, jane@example.com") == [