envl 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/envl.rb +17 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c6dae2d9378f9ff1f18c685eef267a530f49c76d805215ef8e562ee0f7b7661
|
4
|
+
data.tar.gz: d7644d5d62169e39b981511d12b5ebebbbe775feb865e7e26772d9e681ede390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3c6502dde7da88bf78ad679fd60f296aae3b0b3423543a449d11f68ba528cc7f4c0935b88755a08cfe417818cf9b6e578fe477576ec2677c6463632cd40d4f6
|
7
|
+
data.tar.gz: d8dd8b6163c9066abb68855732e03fe1d077558fd1671d862a2872c8f4df9ad7965596d468e0a92083d4ea78427ac8da92f3f8b64de2d9c5e77a7ad6514830f1
|
data/lib/envl.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
+
# A simple environment variable loader that reads .env files.
|
2
|
+
|
1
3
|
class Envl
|
4
|
+
# automatically finds all .env files and loads them into ENV.
|
2
5
|
def self.auto_load
|
3
|
-
files = Dir.glob(
|
6
|
+
files = Dir.glob('*.env', File::FNM_CASEFOLD)
|
4
7
|
self.load(files)
|
5
8
|
end
|
6
9
|
|
10
|
+
# accepts an array of .env files and load thems into ENV.
|
7
11
|
def self.load(files)
|
8
12
|
files.each do |f|
|
9
13
|
self.load_file(f)
|
@@ -11,14 +15,20 @@ class Envl
|
|
11
15
|
ENV
|
12
16
|
end
|
13
17
|
|
18
|
+
# loads a single .env file into ENV.
|
14
19
|
def self.load_file(file)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
20
|
+
begin
|
21
|
+
return if not ['.env'].include? File.extname(file).downcase
|
22
|
+
File.readlines(file).each do |line|
|
23
|
+
tokens = line.split('=')
|
24
|
+
if tokens.size > 1 and not tokens[0].nil? and not tokens[1].nil?
|
25
|
+
key = tokens[0].strip
|
26
|
+
value = tokens[1].gsub("'", '').gsub('"', '')
|
27
|
+
ENV[key] = value
|
28
|
+
end
|
21
29
|
end
|
30
|
+
rescue => error
|
31
|
+
# handle gracefully.
|
22
32
|
end
|
23
33
|
end
|
24
34
|
end
|