envme 0.1.3 → 0.1.4

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: 42f54fd516888d84f2971306cd3d107c8821f621
4
- data.tar.gz: b511221a4b6081dfcbb9ed36700d997bd516e1d6
3
+ metadata.gz: 3605caf67c6c5d98f9e545266961dac5ab544d5c
4
+ data.tar.gz: 342bfaf9d404df61f4783726241d8e67148343ae
5
5
  SHA512:
6
- metadata.gz: 5ec51694881690e2d997fe76982be08998de4fc391fac422c685e738d2d846985f77b19359778d692ec300be34c77a0c648a97560b71d10f190205f1a405b5f0
7
- data.tar.gz: 670cecae2b7d03872066406acea374c43f961210495a817d89fa56fa66a323eaac49aae0ee87a242af84f839178a4b3594985d017b7d12457996c1133ee48fec
6
+ metadata.gz: 4362d77d0db0d311b75c9f242daffe6c3752fdfc4d52b8c9966d00c8a5ed0714629b1aadc713efec07229cac6391d24290d4434065735c0217a0fd71249640b8
7
+ data.tar.gz: c72570a32ae56d715e1de8777ca583b34f1954e5c1ecb6c22952f52a6f93ee32c4d63e2d612b1bbd47ecd59fcecf2fdaf344aea393a00964a1acb5c05b7fd898
data/README.md CHANGED
@@ -19,8 +19,63 @@ gem 'envme', '>=0.1.2'
19
19
 
20
20
  ```ruby
21
21
  Envme.configure do |config|
22
- config.url = "your.consul-host.com"
23
- config.acl_token = "f45cbd0b-5022-47ab-8640-4eaa7c1f40f1"
22
+ config.url = "localhost:8500"
23
+ config.acl_token = "xxxxxxxx-yyyy-zzzz-1111-222222222222"
24
24
  end
25
25
  ```
26
+
27
+ ### Get all at specified prefix
28
+
29
+ ```ruby
30
+ Envme::Vars.get_all('test/prefix')
31
+ => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser", "REST_ENDPOINT=rest.endpoint.com"]
32
+ ```
33
+
34
+ ### Get limited by using a search string
35
+
36
+ ```ruby
37
+ Envme::Vars.get_limited('test/prefix', 'rest')
38
+ => ["REST_ENDPOINT=rest.endpoint.com"]
39
+
40
+ Envme::Vars.get_limited('test/prefix', 'db')
41
+ => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
42
+
43
+ # Using multiple search strings
44
+
45
+ Envme::Vars.get_limited('test/prefix', 'db', 'rest')
46
+ => ["DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser", "REST_ENDPOINT=rest.endpoint.com", "DB_ENDPOINT=db.endpoint.com"]
47
+ ```
48
+
49
+ ### Sanitizing return values
50
+
51
+ ```ruby
52
+ vars = Envme::Vars.get_limited('test', 'db')
53
+ => ["PREFIX_DB_ENDPOINT=db.endpoint.com", "PREFIX_DB_PASSWD=p@s$W0rd", "PREFIX_DB_USERNAME=dbuser"]
54
+
55
+ Envme::Vars.sanitize(vars, 'prefix')
56
+ => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
57
+ ```
58
+
59
+ ### Building exports and File builder scripts
60
+
61
+ ```ruby
62
+ vars = Envme::Vars.get_limited('test/prefix', 'db')
63
+ => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
64
+
65
+ puts Envme.build_exports(vars)
66
+
67
+ export DB_ENDPOINT=db.endpoint.com
68
+ export DB_PASSWD=p@s$W0rd
69
+ export DB_USERNAME=dbuser
70
+
71
+
72
+ # Build a script to populate a systemd EnvironmentFile
73
+
74
+ puts Envme.file_builder(vars, '/etc/sysconfig/my_service.service')
75
+
76
+ echo DB_ENDPOINT=db.endpoint.com >> /etc/sysconfig/my_service.service
77
+ echo DB_PASSWD=p@s$W0rd >> /etc/sysconfig/my_service.service
78
+ echo DB_USERNAME=dbuser >> /etc/sysconfig/my_service.service
79
+ ```
80
+
26
81
  Inspired by [Diplomat](https://github.com/WeAreFarmGeek/diplomat)
data/lib/envme/vars.rb CHANGED
@@ -3,8 +3,9 @@ module Envme
3
3
 
4
4
  def self.get_all(prefix)
5
5
  env = `env`.split("\n")
6
+ env_vars = run(prefix).split("\n") - env
6
7
 
7
- run(prefix).split("\n") - env
8
+ env_vars.select{ |var| !var.split("=")[0].nil? }
8
9
  end
9
10
 
10
11
  def self.get_limited(prefix, *search_strings)
@@ -29,9 +30,7 @@ module Envme
29
30
  def self.limit_to_search(vars, search_strings)
30
31
  vars.select do |var|
31
32
  search_strings.any? do |match|
32
- unless var.match(/^=/)
33
- var.split("=")[0].include?(match.upcase)
34
- end
33
+ var.split("=")[0].include?(match.upcase)
35
34
  end
36
35
  end
37
36
  end
data/lib/envme/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Envme
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: envme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - 'Reppard Walker '