envl 0.0.1 → 0.0.2

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.
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