Current section

8 Versions

Jump to

Compare versions

5 files changed
+15 additions
-13 deletions
  @@ -73,7 +73,7 @@ Alternately, `load/1` will return a data structure of the variables read from th
73 73 ```
74 74 iex(1)> Dotenv.load
75 75 %Dotenv.Env{paths: ["/elixir/dotenv_elixir/.env"],
76 - values: #HashDict<[{"APP_TEST_VAR", "HELLO"}]>}
76 + values: %{"APP_TEST_VAR" => "HELLO"}}
77 77 ```
78 78
79 79 For further details, see the inline documentation. Usage examples can be found in [dotenv_test.exs](https://github.com/avdi/dotenv_elixir/blob/master/test/dotenv_test.exs).
  @@ -7,6 +7,7 @@
7 7 <<"lib/dotenv/supervisor.ex">>,<<"mix.exs">>,<<"README.md">>,<<"LICENSE">>]}.
8 8 {<<"licenses">>,[<<"MIT">>]}.
9 9 {<<"links">>,[{<<"github">>,<<"https://github.com/avdi/dotenv_elixir">>}]}.
10 + {<<"maintainers">>,[<<"Jared Norman">>]}.
10 11 {<<"name">>,<<"dotenv">>}.
11 12 {<<"requirements">>,[]}.
12 - {<<"version">>,<<"2.1.0">>}.
13 + {<<"version">>,<<"3.0.0">>}.
  @@ -111,11 +111,11 @@ defmodule Dotenv do
111 111 first_env = load(env_path)
112 112 rest_env = load(env_paths)
113 113 %Env{paths: [env_path|rest_env.paths],
114 - values: Dict.merge(first_env.values, rest_env.values)}
114 + values: Map.merge(first_env.values, rest_env.values)}
115 115 end
116 116
117 117 def load([]) do
118 - %Env{paths: [], values: HashDict.new}
118 + %Env{paths: [], values: Map.new}
119 119 end
120 120
121 121 def load(env_path) do
  @@ -124,11 +124,11 @@ defmodule Dotenv do
124 124 values = String.split(contents, "\n")
125 125 |> Enum.flat_map(&Regex.scan(@pattern,&1))
126 126 |> trim_quotes_from_values
127 - |> Enum.reduce(HashDict.new, &collect_into_map/2)
127 + |> Enum.reduce(Map.new, &collect_into_map/2)
128 128 %Env{paths: [env_path], values: values}
129 129 end
130 130
131 - defp collect_into_map([_whole, k, v], env), do: HashDict.put(env, k, v)
131 + defp collect_into_map([_whole, k, v], env), do: Map.put(env, k, v)
132 132 defp collect_into_map([_whole, _k], env), do: env
133 133
134 134 defp trim_quotes_from_values(values) do
  @@ -142,7 +142,7 @@ defmodule Dotenv do
142 142 end
143 143
144 144 defp read_env_file(:automatic) do
145 - case find_env_path do
145 + case find_env_path() do
146 146 {:ok, env_path} -> {env_path, File.read!(env_path)}
147 147 {:error, _} -> {:none, ""}
148 148 end
  @@ -1,6 +1,6 @@
1 1 defmodule Dotenv.Env do
2 2 @type t :: %Dotenv.Env{paths: [String.t], values: %{String.t => String.t}}
3 - defstruct paths: [], values: HashDict.new
3 + defstruct paths: [], values: Map.new
4 4
5 5 def path(%Dotenv.Env{paths: paths}) do
6 6 Enum.join(paths, ":")
  @@ -11,10 +11,10 @@ defmodule Dotenv.Env do
11 11 end
12 12
13 13 def get(%Dotenv.Env{values: values}, fallback, key) when is_function(fallback) do
14 - HashDict.get(values, key, fallback.(key))
14 + Map.get(values, key, fallback.(key))
15 15 end
16 16
17 17 def get(%Dotenv.Env{values: values}, fallback, key) do
18 - HashDict.get(values, key, fallback)
18 + Map.get(values, key, fallback)
19 19 end
20 20 end
  @@ -3,10 +3,11 @@ defmodule DotenvElixir.Mixfile do
3 3
4 4 def project do
5 5 [ app: :dotenv,
6 - version: "2.1.0",
6 + version: "3.0.0",
7 7 elixir: "~> 1.0",
8 - deps: deps,
8 + deps: deps(),
9 9 package: [
10 + maintainers: ["Jared Norman"],
10 11 contributors: ["Avdi Grimm", "David Rouchy", "Jared Norman", "Louis Simoneau"],
11 12 links: %{github: "https://github.com/avdi/dotenv_elixir"},
12 13 licenses: ["MIT"]
  @@ -27,6 +28,6 @@ defmodule DotenvElixir.Mixfile do
27 28 # To specify particular versions, regardless of the tag, do:
28 29 # { :barbat, "~> 0.1", github: "elixir-lang/barbat.git" }
29 30 defp deps do
30 - []
31 + [{:ex_doc, ">= 0.0.0", only: :dev}]
31 32 end
32 33 end