gris 0.4.4 → 0.4.5
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 +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -2
- data/README.md +10 -1
- data/lib/gris/setup.rb +4 -7
- data/lib/gris/version.rb +1 -1
- data/spec/fixtures/secrets.yml +8 -0
- data/spec/grape_extensions/authentication_helpers_spec.rb +1 -1
- data/spec/identity_spec.rb +16 -17
- data/spec/secrets_spec.rb +31 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/spec_secrets_helper.rb +11 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b4abfeb569455ac1557220759fed00d91b12698
|
4
|
+
data.tar.gz: 5a07d55604ba7d0f070a03e3d1066796ceab5f60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df3b86ca754667587d31fe5d70cb079c890009f0c31ee8588425e12e058bea9514e9848326476d582856e9f312d235df6e380ad7e32672a7e70f47d8685335e3
|
7
|
+
data.tar.gz: 57159e0bec4873868f9437f49c14694720775730af8210b623f4866a3b53ba5dce81349c68fae28f95ac12cd57b7ee467941f864acaea2f19f8dd52080f268e0
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gris (0.4.
|
4
|
+
gris (0.4.5)
|
5
5
|
activesupport (~> 4.2, >= 4.2.0)
|
6
6
|
chronic (~> 0.10.0)
|
7
7
|
dalli (~> 2.7)
|
@@ -59,6 +59,7 @@ GEM
|
|
59
59
|
thread_safe (~> 0.3, >= 0.3.1)
|
60
60
|
diff-lcs (1.2.5)
|
61
61
|
equalizer (0.0.11)
|
62
|
+
fakefs (0.6.7)
|
62
63
|
faraday (0.9.1)
|
63
64
|
multipart-post (>= 1.2, < 3)
|
64
65
|
faraday-digestauth (0.2.1)
|
@@ -90,7 +91,7 @@ GEM
|
|
90
91
|
grape-roar (0.3.0)
|
91
92
|
grape
|
92
93
|
roar (>= 1.0)
|
93
|
-
grape-swagger (0.10.
|
94
|
+
grape-swagger (0.10.2)
|
94
95
|
grape (>= 0.8.0)
|
95
96
|
grape-entity
|
96
97
|
hashie (3.4.2)
|
@@ -182,6 +183,7 @@ DEPENDENCIES
|
|
182
183
|
bundler (~> 1)
|
183
184
|
byebug
|
184
185
|
childprocess
|
186
|
+
fakefs
|
185
187
|
fasterer
|
186
188
|
gris!
|
187
189
|
hyperclient
|
data/README.md
CHANGED
@@ -34,6 +34,13 @@ $ bundle install
|
|
34
34
|
|
35
35
|
---
|
36
36
|
|
37
|
+
### Quickstart Demo(s)
|
38
|
+
|
39
|
+
You can find example pull requests providing walkthroughs of new app set up here:
|
40
|
+
[https://github.com/artsy/gris-demo/pulls](https://github.com/artsy/gris-demo/pulls)
|
41
|
+
|
42
|
+
---
|
43
|
+
|
37
44
|
### Usage
|
38
45
|
|
39
46
|
##### CLI & Generators
|
@@ -74,4 +81,6 @@ or, if you have an instance, use
|
|
74
81
|
|
75
82
|
### The name
|
76
83
|
|
77
|
-
Gris is named for [Juan Gris](https://www.artsy.net/artist/juan-gris)
|
84
|
+
Gris is named for the Cubist painter [Juan Gris](https://www.artsy.net/artist/juan-gris).
|
85
|
+
|
86
|
+

|
data/lib/gris/setup.rb
CHANGED
@@ -14,14 +14,11 @@ module Gris
|
|
14
14
|
# Returns secrets added to config/secrets.yml.
|
15
15
|
def secrets
|
16
16
|
@secrets ||= begin
|
17
|
-
secrets =
|
17
|
+
secrets = Hashie::Mash.new
|
18
18
|
yaml = 'config/secrets.yml'
|
19
|
-
if File.exist?
|
20
|
-
|
21
|
-
|
22
|
-
all_secrets = YAML.safe_load(ERB.new(IO.read(yaml)).result, [], [], true) || {}
|
23
|
-
env_secrets = all_secrets[Gris.env]
|
24
|
-
secrets.merge!(env_secrets.symbolize_keys) if env_secrets
|
19
|
+
if File.exist? yaml
|
20
|
+
env_secrets = Hashie::Mash.load(yaml)[Gris.env]
|
21
|
+
secrets.merge!(env_secrets) if env_secrets
|
25
22
|
end
|
26
23
|
secrets
|
27
24
|
end
|
data/lib/gris/version.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Gris::AuthenticationHelpers do
|
4
|
+
include_context 'with secrets from config/secrets.yml'
|
4
5
|
context 'without permitted token' do
|
5
6
|
before(:each) do
|
6
|
-
Gris.secrets.permitted_tokens = 'my-token,another-token'
|
7
7
|
@helper = SpecApiAuthHelper.new
|
8
8
|
end
|
9
9
|
|
data/spec/identity_spec.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'gris/identity'
|
3
2
|
|
4
3
|
describe Gris::Identity do
|
4
|
+
include_context 'with secrets from config/secrets.yml'
|
5
|
+
|
5
6
|
before do
|
6
7
|
allow(Process).to receive(:pid).and_return(123)
|
7
8
|
allow(Gris::Identity).to receive(:hostname).and_return('system-hostname')
|
@@ -10,65 +11,63 @@ describe Gris::Identity do
|
|
10
11
|
|
11
12
|
context '#health' do
|
12
13
|
it 'includes name' do
|
13
|
-
expect(Gris::Identity.health[:name]).to eq
|
14
|
+
expect(Gris::Identity.health[:name]).to eq Gris::Identity.name
|
14
15
|
end
|
15
16
|
it 'includes base_url' do
|
16
|
-
expect(Gris::Identity.health[:base_url]).to eq
|
17
|
+
expect(Gris::Identity.health[:base_url]).to eq Gris::Identity.base_url
|
17
18
|
end
|
18
19
|
it 'includes hostname' do
|
19
|
-
expect(Gris::Identity.health[:hostname]).to eq
|
20
|
+
expect(Gris::Identity.health[:hostname]).to eq Gris::Identity.hostname
|
20
21
|
end
|
21
22
|
it 'includes revision' do
|
22
|
-
expect(Gris::Identity.health[:revision]).to eq
|
23
|
+
expect(Gris::Identity.health[:revision]).to eq Gris::Identity.revision
|
23
24
|
end
|
24
25
|
it 'includes pid' do
|
25
|
-
expect(Gris::Identity.health[:pid]).to eq
|
26
|
+
expect(Gris::Identity.health[:pid]).to eq Gris::Identity.pid
|
26
27
|
end
|
27
28
|
it 'includes parent_pid' do
|
28
|
-
expect(Gris::Identity.health[:parent_pid]).to eq
|
29
|
+
expect(Gris::Identity.health[:parent_pid]).to eq Gris::Identity.parent_pid
|
29
30
|
end
|
30
31
|
it 'includes platform' do
|
31
|
-
expect(Gris::Identity.health[:platform]).to eq
|
32
|
+
expect(Gris::Identity.health[:platform]).to eq Gris::Identity.platform
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
35
36
|
context '#name' do
|
36
37
|
it 'returns the Gris.secrets.service_name when specified' do
|
37
|
-
Gris.
|
38
|
-
expect(Gris::Identity.name).to eq('my-service')
|
38
|
+
expect(Gris::Identity.name).to eq 'my_test_app'
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
context '#hostname' do
|
43
43
|
it 'returns the value of the hostname system call and doesn\'t make a second system call' do
|
44
44
|
expect(Gris::Identity).to_not receive(:`).with('hostname')
|
45
|
-
expect(Gris::Identity.hostname).to eq
|
45
|
+
expect(Gris::Identity.hostname).to eq 'system-hostname'
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
49
|
context '#revision' do
|
50
50
|
it 'returns the value of the \'git rev-parse HEAD\' system call and doesn\'t make a second system call' do
|
51
51
|
expect(Gris::Identity).to_not receive(:`).with('git rev-parse HEAD')
|
52
|
-
expect(Gris::Identity.revision).to eq
|
52
|
+
expect(Gris::Identity.revision).to eq '12345'
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
56
|
context '#pid' do
|
57
57
|
it 'returns the process ID value' do
|
58
|
-
expect(Gris::Identity.pid).to eq
|
58
|
+
expect(Gris::Identity.pid).to eq 123
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
62
|
context '#platform_revision' do
|
63
63
|
it 'returns the current version of the platform gem' do
|
64
|
-
expect(Gris::Identity.platform_revision).to eq
|
64
|
+
expect(Gris::Identity.platform_revision).to eq Gris::VERSION
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
68
|
context '#base_url' do
|
69
|
-
it 'returns the Gris.secrets.base_url when
|
70
|
-
Gris.
|
71
|
-
expect(Gris::Identity.base_url).to eq('my-base-url')
|
69
|
+
it 'returns the Gris.secrets.base_url when specified' do
|
70
|
+
expect(Gris::Identity.base_url).to eq 'https://www.youtube.com/watch?v=RI6973HNh8Y'
|
72
71
|
end
|
73
72
|
end
|
74
73
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Gris.secrets' do
|
4
|
+
context 'with a local yaml file' do
|
5
|
+
include_context 'with secrets from config/secrets.yml'
|
6
|
+
|
7
|
+
it 'sets the secret property corresponding to the current Gris.env' do
|
8
|
+
expect(Gris.secrets.service_name).to eq 'my_test_app'
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'sets the secret property corresponding to the default value' do
|
12
|
+
expect(Gris.secrets.base_url).to eq 'https://www.youtube.com/watch?v=RI6973HNh8Y'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'without a local yaml file' do
|
17
|
+
[true, 1, 0, 'anystring'].each do |value|
|
18
|
+
it "returns true when value is #{value.inspect}" do
|
19
|
+
Gris.secrets.notifications_enabled = value
|
20
|
+
expect(Gris.secrets.notifications_enabled?).to be_truthy
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
[false, nil].each do |value|
|
25
|
+
it "returns false when value is #{value.inspect}" do
|
26
|
+
Gris.secrets.notifications_enabled = value
|
27
|
+
expect(Gris.secrets.notifications_enabled?).to_not be_truthy
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,11 @@
|
|
1
|
+
shared_context 'with secrets from config/secrets.yml' do
|
2
|
+
include FakeFS::SpecHelpers
|
3
|
+
|
4
|
+
before do
|
5
|
+
content = IO.read 'spec/fixtures/secrets.yml'
|
6
|
+
FileUtils.mkdir_p 'config'
|
7
|
+
File.open('config/secrets.yml', 'w+') do |file|
|
8
|
+
file.write content
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gris
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dylan Fareed
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -385,6 +385,7 @@ files:
|
|
385
385
|
- lib/tasks/routes.rake
|
386
386
|
- spec/cache_spec.rb
|
387
387
|
- spec/caching_spec.rb
|
388
|
+
- spec/fixtures/secrets.yml
|
388
389
|
- spec/generators/api_generator_spec.rb
|
389
390
|
- spec/generators/migration_generator_spec.rb
|
390
391
|
- spec/generators/scaffold_generator_spec.rb
|
@@ -396,6 +397,7 @@ files:
|
|
396
397
|
- spec/integration/application_error_response_spec.rb
|
397
398
|
- spec/integration/token_authentication_spec.rb
|
398
399
|
- spec/output_formatters/root_presenter_spec.rb
|
400
|
+
- spec/secrets_spec.rb
|
399
401
|
- spec/spec_helper.rb
|
400
402
|
- spec/support/caching_helper.rb
|
401
403
|
- spec/support/integration_setup.rb
|
@@ -403,6 +405,7 @@ files:
|
|
403
405
|
- spec/support/spec_api_error_helper.rb
|
404
406
|
- spec/support/spec_crud_helper.rb
|
405
407
|
- spec/support/spec_generators_helper.rb
|
408
|
+
- spec/support/spec_secrets_helper.rb
|
406
409
|
- spec/version_spec.rb
|
407
410
|
homepage: http://github.com/artsy/gris/
|
408
411
|
licenses:
|
@@ -431,6 +434,7 @@ summary: A simple api microservice generator framework.
|
|
431
434
|
test_files:
|
432
435
|
- spec/cache_spec.rb
|
433
436
|
- spec/caching_spec.rb
|
437
|
+
- spec/fixtures/secrets.yml
|
434
438
|
- spec/generators/api_generator_spec.rb
|
435
439
|
- spec/generators/migration_generator_spec.rb
|
436
440
|
- spec/generators/scaffold_generator_spec.rb
|
@@ -442,6 +446,7 @@ test_files:
|
|
442
446
|
- spec/integration/application_error_response_spec.rb
|
443
447
|
- spec/integration/token_authentication_spec.rb
|
444
448
|
- spec/output_formatters/root_presenter_spec.rb
|
449
|
+
- spec/secrets_spec.rb
|
445
450
|
- spec/spec_helper.rb
|
446
451
|
- spec/support/caching_helper.rb
|
447
452
|
- spec/support/integration_setup.rb
|
@@ -449,4 +454,5 @@ test_files:
|
|
449
454
|
- spec/support/spec_api_error_helper.rb
|
450
455
|
- spec/support/spec_crud_helper.rb
|
451
456
|
- spec/support/spec_generators_helper.rb
|
457
|
+
- spec/support/spec_secrets_helper.rb
|
452
458
|
- spec/version_spec.rb
|