env_helper 1.0.0 → 1.0.1

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