env_helper 1.0.3 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ed9ff41ab0093dbf217fe54106d799a6e2abf3da6e4bf66418ef53b115360e7
4
- data.tar.gz: 97314158364fa4c5104ba6df924f90c6595a679e0bfb70234a1ed4cdc1e3db8e
3
+ metadata.gz: d494de697184c6c804df22e2244984931c02b5749ca345ae4d4cc7a2fa7bbab3
4
+ data.tar.gz: 9e02d6ddd82e1eff0e257ed5604e4745e6287d53bb90f04f62f6d795fe567b16
5
5
  SHA512:
6
- metadata.gz: e2b810f33177d9ef5a2eb4ffdf561e4fb72741e84a8902876ce4b8e32b14776a3e8fed1e0edc6b898a795641cf253e96cc851e5e16843db5063f6df29188d125
7
- data.tar.gz: d30d53a9b8aa0228d265a6f1e9305407ba7dd98169b330d79f769745376d2c37fa60f2695d4252149c13e401ca87edc542dafa6c680a45a1ecd73c9a75916366
6
+ metadata.gz: 59a57b956afc790bbb66a9caadd02dbcc1bea8f7d0367fd9603b7ef51ba6e174a334c56fe190bc2c94328a2bb52a30334b781be296617140a78924bcf97e70de
7
+ data.tar.gz: 4821dd947ea6c1c7e676191ffb39f0f17ce72d0b22733062a0ce0ef44e021db1a258280c4624482d9df8f503d1ab872bedad166257b1ee4ed56b7d99a0fbd04d
data/.gitignore CHANGED
@@ -6,4 +6,9 @@
6
6
  /doc/
7
7
  /pkg/
8
8
  /spec/reports/
9
- /tmp/
9
+ /log/*
10
+ /tmp/*
11
+ !/log/.keep
12
+ !/tmp/.keep
13
+ /keys
14
+ .tags*
data/README.md CHANGED
@@ -31,6 +31,7 @@ Or install it yourself as:
31
31
  ENV['db_name'] = 'foobar'
32
32
  ENV['DB_PASSWORD'] = 'password'
33
33
  ENV['max_pool_size'] = '25'
34
+ ENV['phi'] = '1.61803'
34
35
  ENV['ssl_enabled'] = 'true'
35
36
  ENV['db_hosts'] = 'db1.foobar.com db2.foobar.com db3.foobar.com'
36
37
  ENV['favorite_people'] = 'tom jones,joe smith,jebediah mason'
@@ -48,6 +49,12 @@ ENVHelper.int('max_pool_size')
48
49
  ENVHelper.int('socket_timeout', 30)
49
50
  30
50
51
 
52
+ ENVHelper.float('phi')
53
+ 1.61803
54
+
55
+ ENVHelper.float('pi', 3.141592)
56
+ 3.141592
57
+
51
58
  ENVHelper.bool('ssl_enabled')
52
59
  true
53
60
 
@@ -80,6 +87,9 @@ ENVHelper.hash_key_seperator = ' ' # default is a space
80
87
 
81
88
  # string used to split the key from values in the hash
82
89
  ENVHelper.hash_key_value_seperator = ':' # default is a colon
90
+
91
+ # whether or not to raise errors for empty environment variables
92
+ ENVHelper.raise_errors = true # defaults to false
83
93
  ```
84
94
 
85
95
  ## Development
@@ -5,10 +5,12 @@ module ENVHelper
5
5
  attr_accessor :array_separator
6
6
  attr_accessor :hash_key_separator
7
7
  attr_accessor :hash_key_value_separator
8
+ attr_accessor :raise_errors
8
9
  end
9
10
 
10
11
  def self.get(name, default = nil)
11
12
  var = ENV[name] || ENV[name.upcase]
13
+ fail NotFoundError, "ENV['#{name}'] not found" if @raise_errors && var.nil?
12
14
  var.nil? ? default : var
13
15
  end
14
16
 
@@ -16,6 +18,10 @@ module ENVHelper
16
18
  get(name, default).to_i
17
19
  end
18
20
 
21
+ def self.float(name, default = nil)
22
+ get(name, default).to_f
23
+ end
24
+
19
25
  def self.bool(name, default = nil)
20
26
  case get(name, default).to_s
21
27
  when 'true'
@@ -43,4 +49,5 @@ module ENVHelper
43
49
  end.to_h
44
50
  end
45
51
 
52
+ class NotFoundError < ::StandardError; end;
46
53
  end
@@ -1,3 +1,3 @@
1
1
  module ENVHelper
2
- VERSION = "1.0.3"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: env_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarrett Lusso
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-04 00:00:00.000000000 Z
11
+ date: 2019-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  version: '0'
135
135
  requirements: []
136
136
  rubyforge_project:
137
- rubygems_version: 2.7.7
137
+ rubygems_version: 2.7.8
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: An easy way to manage environment variables with types besides plain strings.