diff --git a/.gitignore b/.gitignore index 5514d69..8fe4575 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,6 @@ flagpack-*.tar # Temporary files, for example, from tests. /tmp/ -.DS_Store \ No newline at end of file +.DS_Store + +.idea/ diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..785b859 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +elixir 1.14.1 diff --git a/README.md b/README.md index fd47dbe..ab9407d 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The package can be installed by adding `flagpack` to your list of dependencies i ```elixir def deps do [ - {:flagpack, "~> 0.1.0"} + {:flagpack, "~> 0.3.0"} ] end ``` diff --git a/assets/flagpack.exs b/assets/flagpack.exs index c59a602..056cd76 100644 --- a/assets/flagpack.exs +++ b/assets/flagpack.exs @@ -25,7 +25,7 @@ defmodule Flagpack do <%= for %{func: func, alpha: alpha, svg: svg} <- @flags do %> @doc """ - Renders the <%= Helpers.country_name_by_alpha(alpha) %> flag. + Renders the <%= Flagpack.Helpers.country_name_by_alpha(alpha) %> flag. ## Examples /> diff --git a/lib/helpers.ex b/lib/helpers.ex index 7a24f43..5c67dd1 100644 --- a/lib/helpers.ex +++ b/lib/helpers.ex @@ -1,4 +1,4 @@ -defmodule Helpers do +defmodule Flagpack.Helpers do @country_codes [ %{country_name: "Andorra", alpha2: "AD", alpha3: "AND", numeric: "020"}, %{ @@ -517,6 +517,15 @@ defmodule Helpers do |> Map.get(:country_name) end + def country_alpha3_by_alpha2(alpha2) do + alpha2 = String.upcase(alpha2) + + case Enum.find(@country_codes, &(get_alpha2(&1) == alpha2)) do + nil -> nil + info = %{} -> Map.get(info, :alpha3) + end + end + defp get_alpha2(country), do: Map.get(country, :alpha2, "") defp get_alpha3(country), do: Map.get(country, :alpha3, "") end