envme 0.1.4 → 0.2.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
  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 '