env_helper 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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.