Current section
8 Versions
Jump to
Current section
8 Versions
Compare versions
4
files changed
+17
additions
-5
deletions
| @@ -11,7 +11,7 @@ First add `dotenv` to your dependencies. | |
| 11 11 | For the latest release: |
| 12 12 | |
| 13 13 | ```elixir |
| 14 | - {:dotenv, "~> 0.0.3"} |
| 14 | + {:dotenv, "~> 0.0.4"} |
| 15 15 | ``` |
| 16 16 | |
| 17 17 | For master: |
| @@ -9,7 +9,7 @@ | |
| 9 9 | [<<"lib/dotenv.ex">>,<<"lib/dotenv/env.ex">>,<<"lib/dotenv/server.ex">>, |
| 10 10 | <<"lib/dotenv/supervisor.ex">>,<<"mix.exs">>,<<"README.md">>,<<"LICENSE">>]}. |
| 11 11 | {<<"licenses">>,[<<"MIT">>]}. |
| 12 | - {<<"links">>,#{<<"github">> => <<"https://github.com/avdi/dotenv_elixir">>}}. |
| 12 | + {<<"links">>,[{<<"github">>,<<"https://github.com/avdi/dotenv_elixir">>}]}. |
| 13 13 | {<<"name">>,<<"dotenv">>}. |
| 14 | - {<<"requirements">>,#{}}. |
| 15 | - {<<"version">>,<<"0.0.4">>}. |
| 14 | + {<<"requirements">>,[]}. |
| 15 | + {<<"version">>,<<"1.0.0">>}. |
| @@ -26,6 +26,7 @@ defmodule Dotenv do | |
| 26 26 | Dotenv.Supervisor.start_link(env_path) |
| 27 27 | end |
| 28 28 | |
| 29 | + @quotes_pattern ~r/^(['"])(.*)\1$/ |
| 29 30 | @pattern ~r/ |
| 30 31 | ^ |
| 31 32 | (?:export\s+)? # optional export |
| @@ -120,10 +121,21 @@ defmodule Dotenv do | |
| 120 121 | def load(env_path) do |
| 121 122 | {env_path, contents} = read_env_file(env_path) |
| 122 123 | values = Regex.scan(@pattern, contents) |
| 124 | + |> trim_quotes_from_values |
| 123 125 | |> Enum.reduce(HashDict.new, fn([_whole, k, v], env) -> HashDict.put(env, k, v) end) |
| 124 126 | %Env{paths: [env_path], values: values} |
| 125 127 | end |
| 126 128 | |
| 129 | + defp trim_quotes_from_values(values) do |
| 130 | + values |> Enum.map(fn(values)-> |
| 131 | + Enum.map(values, &trim_quotes/1) |
| 132 | + end) |
| 133 | + end |
| 134 | + |
| 135 | + defp trim_quotes(value) do |
| 136 | + String.replace(value, @quotes_pattern, "\\2") |
| 137 | + end |
| 138 | + |
| 127 139 | defp read_env_file(:automatic) do |
| 128 140 | case find_env_path do |
| 129 141 | {:ok, env_path} -> {env_path, File.read!(env_path)} |
| @@ -3,7 +3,7 @@ defmodule DotenvElixir.Mixfile do | |
| 3 3 | |
| 4 4 | def project do |
| 5 5 | [ app: :dotenv, |
| 6 | - version: "0.0.4", |
| 6 | + version: "1.0.0", |
| 7 7 | elixir: "~> 1.0.0", |
| 8 8 | deps: deps, |
| 9 9 | package: [ |