envl 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/envl.rb +17 -7
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f57beb9a36754297bc173ded6905c2b44d74dd8a12eaec587658145b0cd6a8c
4
- data.tar.gz: 658f7d707ff197ae2fcfd2b776d0bba6cf631fdf7cecdd892574611de2d20b92
3
+ metadata.gz: 3c6dae2d9378f9ff1f18c685eef267a530f49c76d805215ef8e562ee0f7b7661
4
+ data.tar.gz: d7644d5d62169e39b981511d12b5ebebbbe775feb865e7e26772d9e681ede390
5
5
  SHA512:
6
- metadata.gz: 439738f3231b629f018fe837e270e47d35533c8a3b8a1f3fc93f46d3830ea76b3ebd37e2edc387e9d68af0a555de8cd9b1c4f77bd908d0476e198f36bb600a00
7
- data.tar.gz: 81be69a10e9400cf0298059fc75f2807e7f6915c1275cbef8ecb9ad8c1502506e6f9c6e8db47e929a1522c0bc046996d13c952c9020efa8d51b3ba486493319c
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("*.env")
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
- File.readlines(file).each do |line|
16
- tokens = line.split('=')
17
- if tokens.size > 1 and not tokens[0].nil? and not tokens[1].nil?
18
- key = tokens[0].strip
19
- value = tokens[1].gsub("'", '').gsub('"', '')
20
- ENV[key] = value
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: envl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Stauffer