env_helper 1.0.0 → 1.0.1

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
  SHA1:
3
- metadata.gz: c27491c2affaa6332519ca5b03306358e344bf12
4
- data.tar.gz: 4a6cb001c2db9e6cb09bc4bebb4ed2849728bc27
3
+ metadata.gz: 37c3ef98f958fdc8dfa3a43ebfecf104c1b98913
4
+ data.tar.gz: 55a64936a009e2b1475df41e20269602e55fca2f
5
5
  SHA512:
6
- metadata.gz: f6abbf9b4458409c83cd4285edcd6a550686de8d640a6ca6f5a933aeccbafb4d883bf165662c6c85e6544fedfbc8ca8f626af8591a2dc4b9888663ea1977283b
7
- data.tar.gz: d9947e98a069106c1aba466893e7106c698921b39d282f8ccf5c4a8ef172fcc2d832d7abdc5c8cb5086cf1a92be97fd6398ebb86be1765d209319d09379cf738
6
+ metadata.gz: c597d2f9f6d7ce83cd3f7c6dbf12a5ca097d399c1802af035e1f40bdef49ed95defb6c3e37d94224150257e5a7da08bed9f37c30bbf40dee23aff36b9de88dc6
7
+ data.tar.gz: 38ffa391190edc5ac3143dd725137afefedc4282000b2a4b91d7d415870a04768e23bd2fc8e281c53e96bbc32b52eb5c96fe712e69b61df598b7b3241f95c16a
data/README.md CHANGED
@@ -29,6 +29,8 @@ ENV['db_name'] = 'foobar'
29
29
  ENV['DB_PASSWORD'] = 'password'
30
30
  ENV['max_pool_size'] = '25'
31
31
  ENV['ssl_enabled'] = 'true'
32
+ ENV['db_hosts'] = 'db1.foobar.com db2.foobar.com db3.foobar.com'
33
+ ENV['private_keys'] = 'key1:abcdef key2:fedcba'
32
34
 
33
35
  ENVHelper.get('db_name')
34
36
  "foobar"
@@ -47,6 +49,30 @@ true
47
49
 
48
50
  ENVHelper.bool('sharding_enabled', false)
49
51
  false
52
+
53
+ ENVHelper.array('db_hosts')
54
+ ['db1.foobar.com', 'db2.foobar.com', 'db3.foobar.com']
55
+
56
+ ENVHelper.hash('private_keys')
57
+ { 'key1' => 'abcdef', 'key2' => 'fedcba' }
58
+ ```
59
+
60
+ ## Notes
61
+ All methods accept a default value as a second parameter and that parameter
62
+ should be the type being returned. For example if you call
63
+ `ENVHelper.int('max_pool_size', 25)` the second parameter is an Integer.
64
+
65
+ ## Configuration
66
+
67
+ ```ruby
68
+ # string used to split the environment variable to make the array
69
+ ENVHelper.array_seperator = ' ' # default is a space
70
+
71
+ # string used to split the hash key value groups in the hash
72
+ ENVHelper.hash_key_seperator = ' ' # default is a space
73
+
74
+ # string used to split the key from values in the hash
75
+ ENVHelper.hash_key_value_seperator = ':' # default is a colon
50
76
  ```
51
77
 
52
78
  ## Development
@@ -1,3 +1,3 @@
1
1
  module ENVHelper
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
data/lib/env_helper.rb CHANGED
@@ -1,6 +1,11 @@
1
1
  require "env_helper/version"
2
2
 
3
3
  module ENVHelper
4
+ class << self
5
+ attr_accessor :array_seperator
6
+ attr_accessor :hash_key_seperator
7
+ attr_accessor :hash_key_value_seperator
8
+ end
4
9
 
5
10
  def self.get(name, default = nil)
6
11
  var = ENV[name] || ENV[name.upcase]
@@ -20,4 +25,35 @@ module ENVHelper
20
25
  end
21
26
  end
22
27
 
28
+ def self.array(name, default = nil)
29
+ var = get(name, default)
30
+ return [] if var.nil?
31
+ return var if var.is_a? Array
32
+ var.split(array_seperator)
33
+ end
34
+
35
+ def self.hash(name, default = nil)
36
+ var = get(name, default)
37
+ return {} if var.nil?
38
+ return var if var.is_a? Hash
39
+ hash_array = var.split(hash_key_seperator)
40
+ hash_array.map do |kv|
41
+ kv.split(hash_key_value_seperator)
42
+ end.to_h
43
+ end
44
+
45
+ private
46
+
47
+ def self.array_seperator
48
+ @array_seperator || ' '
49
+ end
50
+
51
+ def self.hash_key_seperator
52
+ @hash_key_seperator || ' '
53
+ end
54
+
55
+ def self.hash_key_value_seperator
56
+ @hash_key_value_seperator || ':'
57
+ end
58
+
23
59
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: env_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarrett Lusso