dotenv 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -1
- data/lib/dotenv.rb +9 -0
- data/lib/dotenv/cli.rb +42 -11
- data/lib/dotenv/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fadc1aaf858a18707131513d5fa3dc015a6c6cd52f6402a92a873ea8b9bb1cda
|
4
|
+
data.tar.gz: c07851bf8fa4dcd429420a416f099a1202e2790937413d96d1861a7e1580056e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3815788d3a7f2527dc89c57e15c67cf10bcdf7dd6d12ddb2f4c5eadc5be3c98ab55fd90077a2df829b431b4ce36c04e1e7a3f484f728f7fd498df85d41cc1c73
|
7
|
+
data.tar.gz: 15788c3ecc0ab48db28ff231d4a2bc4a79c8d52786dd0994b5c3839aa709bd58b541205f8683d0dd4ad7101f6d3ca604f590814979165d0adffcce7b8fd5be13
|
data/README.md
CHANGED
@@ -177,6 +177,16 @@ Dotenv.require_keys("SERVICE_APP_ID", "SERVICE_KEY", "SERVICE_SECRET")
|
|
177
177
|
|
178
178
|
If any of the configuration keys above are not set, your application will raise an error during initialization. This method is preferred because it prevents runtime errors in a production application due to improper configuration.
|
179
179
|
|
180
|
+
### Parsing
|
181
|
+
|
182
|
+
To parse a list of env files for programmatic inspection without modifying the ENV:
|
183
|
+
|
184
|
+
```ruby
|
185
|
+
Dotenv.parse(".env.local", ".env")
|
186
|
+
# => {'S3_BUCKET' => 'YOURS3BUCKET', 'SECRET_KEY' => 'YOURSECRETKEYGOESHERE', ...}
|
187
|
+
```
|
188
|
+
|
189
|
+
This method returns a hash of the ENV var name/value pairs.
|
180
190
|
|
181
191
|
## Frequently Answered Questions
|
182
192
|
|
@@ -190,7 +200,7 @@ If you use this gem to handle env vars for multiple Rails environments (developm
|
|
190
200
|
|
191
201
|
### What other .env* files can I use?
|
192
202
|
|
193
|
-
`dotenv-rails` will override in the following order (highest defined
|
203
|
+
`dotenv-rails` will override in the following order (highest defined variable overrides lower):
|
194
204
|
|
195
205
|
| Hierarchy Priority | Filename | Environment | Should I `.gitignore`it? | Notes |
|
196
206
|
| ------------------ | ------------------------ | -------------------- | --------------------------------------------------- | ------------------------------------------------------------ |
|
data/lib/dotenv.rb
CHANGED
@@ -45,6 +45,15 @@ module Dotenv
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
# returns a hash of parsed key/value pairs but does not modify ENV
|
49
|
+
def parse(*filenames)
|
50
|
+
with(*filenames) do |f|
|
51
|
+
ignoring_nonexistent_files do
|
52
|
+
Environment.new(f, false)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
48
57
|
# Internal: Helper to expand list of filenames.
|
49
58
|
#
|
50
59
|
# Returns a hash of all the loaded environment variables.
|
data/lib/dotenv/cli.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require "dotenv"
|
2
|
+
require "dotenv/version"
|
3
|
+
require "optparse"
|
2
4
|
|
3
5
|
module Dotenv
|
4
6
|
# The CLI is a class responsible of handling all the command line interface
|
@@ -11,26 +13,55 @@ module Dotenv
|
|
11
13
|
end
|
12
14
|
|
13
15
|
def run
|
14
|
-
|
16
|
+
parse_argv!(@argv)
|
17
|
+
|
15
18
|
begin
|
16
|
-
Dotenv.load!(
|
19
|
+
Dotenv.load!(*@filenames)
|
17
20
|
rescue Errno::ENOENT => e
|
18
21
|
abort e.message
|
19
22
|
else
|
20
|
-
exec(
|
23
|
+
exec(*@argv) unless @argv.empty?
|
21
24
|
end
|
22
25
|
end
|
23
26
|
|
24
27
|
private
|
25
28
|
|
26
|
-
def
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
def parse_argv!(argv)
|
30
|
+
@filenames = []
|
31
|
+
|
32
|
+
OptionParser.new do |parser|
|
33
|
+
parser.banner = "Usage: dotenv [options]"
|
34
|
+
parser.separator ""
|
35
|
+
add_options(parser)
|
36
|
+
end.parse!(argv)
|
37
|
+
|
38
|
+
@filenames
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_options(parser)
|
42
|
+
add_files_option(parser)
|
43
|
+
add_help_option(parser)
|
44
|
+
add_version_option(parser)
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_files_option(parser)
|
48
|
+
parser.on("-f FILES", Array, "List of env files to parse") do |list|
|
49
|
+
@filenames = list
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def add_help_option(parser)
|
54
|
+
parser.on("-h", "--help", "Display help") do
|
55
|
+
puts parser
|
56
|
+
exit
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def add_version_option(parser)
|
61
|
+
parser.on("-v", "--version", "Show version") do
|
62
|
+
puts "dotenv #{Dotenv::VERSION}"
|
63
|
+
exit
|
64
|
+
end
|
34
65
|
end
|
35
66
|
end
|
36
67
|
end
|
data/lib/dotenv/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dotenv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Keepers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -92,8 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
|
-
|
96
|
-
rubygems_version: 2.7.6
|
95
|
+
rubygems_version: 3.0.1
|
97
96
|
signing_key:
|
98
97
|
specification_version: 4
|
99
98
|
summary: Loads environment variables from `.env`.
|