envme 0.1.4 → 0.2.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
  SHA1:
3
- metadata.gz: 3605caf67c6c5d98f9e545266961dac5ab544d5c
4
- data.tar.gz: 342bfaf9d404df61f4783726241d8e67148343ae
3
+ metadata.gz: 2c1ec39ab7cdf49a40801b6428baa94be80eb4e4
4
+ data.tar.gz: 34881da0634db7a3cab73cdf661876225521c024
5
5
  SHA512:
6
- metadata.gz: 4362d77d0db0d311b75c9f242daffe6c3752fdfc4d52b8c9966d00c8a5ed0714629b1aadc713efec07229cac6391d24290d4434065735c0217a0fd71249640b8
7
- data.tar.gz: c72570a32ae56d715e1de8777ca583b34f1954e5c1ecb6c22952f52a6f93ee32c4d63e2d612b1bbd47ecd59fcecf2fdaf344aea393a00964a1acb5c05b7fd898
6
+ metadata.gz: ea15ffbd4f8de393d064f3d467b404f5181e30d31f265d9b63ad2def51cc8d1315011987627e8771e076512ceb1daf0075ea716c88f2983f2ef0b9321a55d64f
7
+ data.tar.gz: e036e7f40af9e6ebc8f9fc8dbd7cc2ba171ae9d593865284e2dbfbb6c55056a9cad87cad3e027acae6d1e6ef6720ea9171237687581cc9e782e8e8b4b3a85ebe
data/README.md CHANGED
@@ -4,7 +4,9 @@ Envme is a Ruby wrapper around hashicorp's [envconsul](https://github.com/hashic
4
4
 
5
5
  ## Installation
6
6
 
7
- $ gem install envme
7
+ ```shell
8
+ $ gem install envme
9
+ ```
8
10
 
9
11
  Or add to your Gemfile
10
12
 
@@ -24,32 +26,36 @@ gem 'envme', '>=0.1.2'
24
26
  end
25
27
  ```
26
28
 
27
- ### Get all at specified prefix
29
+ ### Get
30
+
31
+ Grab everything at specified prefix:
28
32
 
29
33
  ```ruby
30
- Envme::Vars.get_all('test/prefix')
34
+ Envme::Vars.get('test/prefix')
31
35
  => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser", "REST_ENDPOINT=rest.endpoint.com"]
32
36
  ```
33
37
 
34
- ### Get limited by using a search string
38
+ Limit return by passing in a search string:
35
39
 
36
40
  ```ruby
37
- Envme::Vars.get_limited('test/prefix', 'rest')
41
+ Envme::Vars.get('test/prefix', 'rest')
38
42
  => ["REST_ENDPOINT=rest.endpoint.com"]
39
43
 
40
- Envme::Vars.get_limited('test/prefix', 'db')
44
+ Envme::Vars.get('test/prefix', 'db')
41
45
  => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
46
+ ```
42
47
 
43
- # Using multiple search strings
48
+ Using multiple search strings:
44
49
 
45
- Envme::Vars.get_limited('test/prefix', 'db', 'rest')
50
+ ```ruby
51
+ Envme::Vars.get('test/prefix', 'db', 'rest')
46
52
  => ["DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser", "REST_ENDPOINT=rest.endpoint.com", "DB_ENDPOINT=db.endpoint.com"]
47
53
  ```
48
54
 
49
55
  ### Sanitizing return values
50
56
 
51
57
  ```ruby
52
- vars = Envme::Vars.get_limited('test', 'db')
58
+ vars = Envme::Vars.get('test', 'db')
53
59
  => ["PREFIX_DB_ENDPOINT=db.endpoint.com", "PREFIX_DB_PASSWD=p@s$W0rd", "PREFIX_DB_USERNAME=dbuser"]
54
60
 
55
61
  Envme::Vars.sanitize(vars, 'prefix')
@@ -59,7 +65,7 @@ Envme::Vars.sanitize(vars, 'prefix')
59
65
  ### Building exports and File builder scripts
60
66
 
61
67
  ```ruby
62
- vars = Envme::Vars.get_limited('test/prefix', 'db')
68
+ vars = Envme::Vars.get('test/prefix', 'db')
63
69
  => ["DB_ENDPOINT=db.endpoint.com", "DB_PASSWD=p@s$W0rd", "DB_USERNAME=dbuser"]
64
70
 
65
71
  puts Envme.build_exports(vars)
@@ -1,17 +1,16 @@
1
1
  module Envme
2
2
  class Vars < Envme::CommandRunner
3
3
 
4
- def self.get_all(prefix)
5
- env = `env`.split("\n")
6
- env_vars = run(prefix).split("\n") - env
4
+ def self.get(prefix, *search_strings)
5
+ env = `env`.split("\n")
6
+ consul_vars = run(prefix).split("\n") - env
7
+ env_vars = consul_vars.select{ |var| !var.split("=")[0].nil? }
7
8
 
8
- env_vars.select{ |var| !var.split("=")[0].nil? }
9
- end
10
-
11
- def self.get_limited(prefix, *search_strings)
12
- env_vars = get_all(prefix)
13
-
14
- limit_to_search(env_vars, search_strings)
9
+ if search_strings.empty?
10
+ env_vars
11
+ else
12
+ limit_to_search(env_vars, search_strings)
13
+ end
15
14
  end
16
15
 
17
16
  def self.sanitize(vars, search)
@@ -1,3 +1,3 @@
1
1
  module Envme
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -11,27 +11,38 @@ describe Envme::Vars do
11
11
  allow(Envme::CommandRunner).to receive(:run) { envconsul_data }
12
12
  end
13
13
 
14
- context "#get_all" do
15
- it "calls run and returns an array" do
14
+ context "#get" do
15
+ it "calls run" do
16
16
  prefix = 'test/prefix'
17
17
  expect(Envme::CommandRunner).to receive(:run).with(prefix)
18
18
 
19
- Envme::Vars.get_all(prefix)
19
+ Envme::Vars.get(prefix)
20
20
  end
21
21
 
22
22
  it "returns an Array" do
23
23
  prefix = 'test/prefix'
24
24
 
25
- env_vars = Envme::Vars.get_all(prefix)
25
+ env_vars = Envme::Vars.get(prefix)
26
26
  expect(env_vars).to be_kind_of(Array)
27
27
  end
28
- end
29
28
 
30
- context "#get_limited" do
31
- it "returns only the values matching search params" do
29
+ it "returns all if no search string is given" do
30
+ prefix = 'test/prefix'
31
+
32
+ expected = [
33
+ "COMPONENT_PARAM1=first_param",
34
+ "COMPONENT_PARAM2=second PaRam",
35
+ "ENVVAR_PARAM3=env var"
36
+ ]
37
+
38
+ env_vars = Envme::Vars.get(prefix)
39
+ expect(env_vars).to eq(expected)
40
+ end
41
+
42
+ it "returns only values matching search params" do
32
43
  prefix = 'test/prefix'
33
44
 
34
- vars = Envme::Vars.get_limited(prefix, 'ENVVAR')
45
+ vars = Envme::Vars.get(prefix, 'ENVVAR')
35
46
  expect(vars.size).to eq(1)
36
47
  expect(vars[0]).to eq('ENVVAR_PARAM3=env var')
37
48
  expect(vars).not_to include("COMPONENT_PARAM2=second PaRam")
@@ -40,7 +51,7 @@ describe Envme::Vars do
40
51
  it "can accept multiple search strings" do
41
52
  prefix = 'test/prefix'
42
53
 
43
- vars = Envme::Vars.get_limited(prefix, 'ENVVAR', 'COMPONENT')
54
+ vars = Envme::Vars.get(prefix, 'ENVVAR', 'COMPONENT')
44
55
  expect(vars.size).to eq(3)
45
56
  expect(vars[0]).to eq('COMPONENT_PARAM1=first_param')
46
57
  end
@@ -56,7 +67,7 @@ describe Envme::Vars do
56
67
  allow(Envme::CommandRunner).to receive(:run) { envconsul_data }
57
68
  prefix = 'test/prefix'
58
69
 
59
- expect{Envme::Vars.get_limited(prefix, 'COMPONENT')}.to_not raise_error
70
+ expect{Envme::Vars.get(prefix, 'COMPONENT')}.to_not raise_error
60
71
  end
61
72
  end
62
73
 
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.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 'Reppard Walker '