vault-rails 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -3
- data/Rakefile +5 -2
- data/lib/vault/encrypted_model.rb +104 -42
- data/lib/vault/rails.rb +32 -0
- data/lib/vault/rails/configurable.rb +14 -0
- data/lib/vault/rails/version.rb +1 -1
- data/spec/dummy/app/models/person.rb +16 -0
- data/spec/dummy/config/environments/development.rb +5 -3
- data/spec/dummy/config/environments/test.rb +5 -3
- data/spec/dummy/db/migrate/20150428220101_create_people.rb +1 -0
- data/spec/dummy/db/schema.rb +6 -5
- data/spec/integration/rails_spec.rb +109 -16
- data/spec/spec_helper.rb +27 -0
- metadata +48 -54
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +0 -8689
@@ -42,12 +42,22 @@ describe Vault::Rails do
|
|
42
42
|
|
43
43
|
it "allows attributes to be unset" do
|
44
44
|
person = Person.create!(ssn: "123-45-6789")
|
45
|
-
person.
|
45
|
+
person.update!(ssn: nil)
|
46
46
|
person.reload
|
47
47
|
|
48
48
|
expect(person.ssn).to be(nil)
|
49
49
|
end
|
50
50
|
|
51
|
+
it "allows dirty attributes to be unset" do
|
52
|
+
person = Person.create!(ssn: "123-45-6789")
|
53
|
+
person.ssn = nil
|
54
|
+
expect(person.ssn).to be_nil
|
55
|
+
|
56
|
+
person2 = Person.create!(ssn: "123-45-6789")
|
57
|
+
person2.assign_attributes(ssn: nil)
|
58
|
+
expect(person2.ssn).to be_nil
|
59
|
+
end
|
60
|
+
|
51
61
|
it "allows saving without validations" do
|
52
62
|
person = Person.new(ssn: "123-456-7890")
|
53
63
|
person.save(validate: false)
|
@@ -57,7 +67,7 @@ describe Vault::Rails do
|
|
57
67
|
it "allows attributes to be unset after reload" do
|
58
68
|
person = Person.create!(ssn: "123-45-6789")
|
59
69
|
person.reload
|
60
|
-
person.
|
70
|
+
person.update!(ssn: nil)
|
61
71
|
person.reload
|
62
72
|
|
63
73
|
expect(person.ssn).to be(nil)
|
@@ -65,7 +75,7 @@ describe Vault::Rails do
|
|
65
75
|
|
66
76
|
it "allows attributes to be blank" do
|
67
77
|
person = Person.create!(ssn: "123-45-6789")
|
68
|
-
person.
|
78
|
+
person.update!(ssn: "")
|
69
79
|
person.reload
|
70
80
|
|
71
81
|
expect(person.ssn).to eq("")
|
@@ -74,7 +84,7 @@ describe Vault::Rails do
|
|
74
84
|
|
75
85
|
it "allows attributes to be null" do
|
76
86
|
person = Person.create!(ssn: "123-45-6789")
|
77
|
-
person.
|
87
|
+
person.update!(ssn: nil)
|
78
88
|
person.reload
|
79
89
|
|
80
90
|
expect(person.ssn).to eq(nil)
|
@@ -97,6 +107,18 @@ describe Vault::Rails do
|
|
97
107
|
person.name = "Cinderella"
|
98
108
|
person.save!
|
99
109
|
end
|
110
|
+
|
111
|
+
it "does not register a Vault attribute as necessarily being backed by a column" do
|
112
|
+
expect(Person.attribute_names).to include("ssn")
|
113
|
+
expect(Person.column_names).not_to include("ssn")
|
114
|
+
end
|
115
|
+
|
116
|
+
it "does not reload encrypted attributes on destroy" do
|
117
|
+
person = Person.create!(ssn: "123-45-6789")
|
118
|
+
|
119
|
+
expect(Vault::Rails).to_not receive(:decrypt)
|
120
|
+
person.destroy
|
121
|
+
end
|
100
122
|
end
|
101
123
|
|
102
124
|
context "lazy decrypt" do
|
@@ -140,16 +162,33 @@ describe Vault::Rails do
|
|
140
162
|
expect(person.ssn_changed?).to be(true)
|
141
163
|
expect(person.ssn_change).to eq(["123-45-6789", "111-11-1111"])
|
142
164
|
expect(person.ssn_was).to eq("123-45-6789")
|
165
|
+
|
166
|
+
person.assign_attributes(ssn: "222-22-2222")
|
167
|
+
|
168
|
+
expect(person.ssn_changed?).to be(true)
|
169
|
+
expect(person.ssn_change).to eq(["123-45-6789", "222-22-2222"])
|
170
|
+
expect(person.ssn_was).to eq("123-45-6789")
|
143
171
|
end
|
144
172
|
|
145
173
|
it "allows attributes to be unset" do
|
146
174
|
person = LazyPerson.create!(ssn: "123-45-6789")
|
147
|
-
person.
|
175
|
+
person.update!(ssn: nil)
|
148
176
|
person.reload
|
149
177
|
|
150
178
|
expect(person.ssn).to be(nil)
|
151
179
|
end
|
152
180
|
|
181
|
+
it "allows dirty attributes to be unset" do
|
182
|
+
person = LazyPerson.create!(ssn: "123-45-6789")
|
183
|
+
person.ssn = nil
|
184
|
+
expect(person.ssn).to be_nil
|
185
|
+
|
186
|
+
person2 = LazyPerson.create!(ssn: "123-45-6789")
|
187
|
+
person2.assign_attributes(ssn: nil)
|
188
|
+
expect(person2.ssn).to be_nil
|
189
|
+
end
|
190
|
+
|
191
|
+
|
153
192
|
it "allows saving without validations" do
|
154
193
|
person = LazyPerson.new(ssn: "123-456-7890")
|
155
194
|
expect(person.save(validate: false)).to be(true)
|
@@ -159,7 +198,7 @@ describe Vault::Rails do
|
|
159
198
|
it "allows attributes to be unset after reload" do
|
160
199
|
person = LazyPerson.create!(ssn: "123-45-6789")
|
161
200
|
person.reload
|
162
|
-
person.
|
201
|
+
person.update!(ssn: nil)
|
163
202
|
person.reload
|
164
203
|
|
165
204
|
expect(person.ssn).to be(nil)
|
@@ -167,7 +206,7 @@ describe Vault::Rails do
|
|
167
206
|
|
168
207
|
it "allows attributes to be blank" do
|
169
208
|
person = LazyPerson.create!(ssn: "123-45-6789")
|
170
|
-
person.
|
209
|
+
person.update!(ssn: "")
|
171
210
|
person.reload
|
172
211
|
|
173
212
|
expect(person.ssn).to eq("")
|
@@ -190,6 +229,13 @@ describe Vault::Rails do
|
|
190
229
|
person.name = "Cinderella"
|
191
230
|
person.save!
|
192
231
|
end
|
232
|
+
|
233
|
+
it "allows attributes to be accessed after a destroy" do
|
234
|
+
person = LazyPerson.create!(ssn: "123-45-6789")
|
235
|
+
|
236
|
+
person.destroy
|
237
|
+
expect { person.ssn }.not_to raise_error
|
238
|
+
end
|
193
239
|
end
|
194
240
|
|
195
241
|
context "lazy single decrypt" do
|
@@ -224,7 +270,7 @@ describe Vault::Rails do
|
|
224
270
|
|
225
271
|
it "does not decrypt all attributes on single read" do
|
226
272
|
person = LazySinglePerson.create!(ssn: "123-45-6789")
|
227
|
-
person.
|
273
|
+
person.update!(credit_card: "abcd-efgh-hijk-lmno")
|
228
274
|
expect(person.credit_card).to eq("abcd-efgh-hijk-lmno")
|
229
275
|
|
230
276
|
person.reload
|
@@ -239,7 +285,7 @@ describe Vault::Rails do
|
|
239
285
|
|
240
286
|
it "does not decrypt all attributes on single write" do
|
241
287
|
person = LazySinglePerson.create!(ssn: "123-45-6789")
|
242
|
-
person.
|
288
|
+
person.update!(credit_card: "abcd-efgh-hijk-lmno")
|
243
289
|
expect(person.credit_card).to eq("abcd-efgh-hijk-lmno")
|
244
290
|
|
245
291
|
person.reload
|
@@ -269,7 +315,7 @@ describe Vault::Rails do
|
|
269
315
|
|
270
316
|
it "allows attributes to be unset" do
|
271
317
|
person = LazySinglePerson.create!(ssn: "123-45-6789")
|
272
|
-
person.
|
318
|
+
person.update!(ssn: nil)
|
273
319
|
person.reload
|
274
320
|
|
275
321
|
expect(person.ssn).to be(nil)
|
@@ -284,7 +330,7 @@ describe Vault::Rails do
|
|
284
330
|
it "allows attributes to be unset after reload" do
|
285
331
|
person = LazySinglePerson.create!(ssn: "123-45-6789")
|
286
332
|
person.reload
|
287
|
-
person.
|
333
|
+
person.update!(ssn: nil)
|
288
334
|
person.reload
|
289
335
|
|
290
336
|
expect(person.ssn).to be(nil)
|
@@ -292,7 +338,7 @@ describe Vault::Rails do
|
|
292
338
|
|
293
339
|
it "allows attributes to be blank" do
|
294
340
|
person = LazySinglePerson.create!(ssn: "123-45-6789")
|
295
|
-
person.
|
341
|
+
person.update!(ssn: "")
|
296
342
|
person.reload
|
297
343
|
|
298
344
|
expect(person.ssn).to eq("")
|
@@ -315,6 +361,13 @@ describe Vault::Rails do
|
|
315
361
|
person.name = "Cinderella"
|
316
362
|
person.save!
|
317
363
|
end
|
364
|
+
|
365
|
+
it "allows attributes to be accessed after a destroy" do
|
366
|
+
person = LazyPerson.create!(ssn: "123-45-6789")
|
367
|
+
|
368
|
+
person.destroy
|
369
|
+
expect { person.ssn }.not_to raise_error
|
370
|
+
end
|
318
371
|
end
|
319
372
|
|
320
373
|
context "with custom options" do
|
@@ -353,7 +406,7 @@ describe Vault::Rails do
|
|
353
406
|
|
354
407
|
it "allows attributes to be unset" do
|
355
408
|
person = Person.create!(credit_card: "1234567890111213")
|
356
|
-
person.
|
409
|
+
person.update!(credit_card: nil)
|
357
410
|
person.reload
|
358
411
|
|
359
412
|
expect(person.credit_card).to be(nil)
|
@@ -361,7 +414,7 @@ describe Vault::Rails do
|
|
361
414
|
|
362
415
|
it "allows attributes to be blank" do
|
363
416
|
person = Person.create!(credit_card: "1234567890111213")
|
364
|
-
person.
|
417
|
+
person.update!(credit_card: "")
|
365
418
|
person.reload
|
366
419
|
|
367
420
|
expect(person.credit_card).to eq("")
|
@@ -404,7 +457,7 @@ describe Vault::Rails do
|
|
404
457
|
|
405
458
|
it "allows attributes to be unset" do
|
406
459
|
person = Person.create!(non_ascii: "dás ümlaut")
|
407
|
-
person.
|
460
|
+
person.update!(non_ascii: nil)
|
408
461
|
person.reload
|
409
462
|
|
410
463
|
expect(person.non_ascii).to be(nil)
|
@@ -412,7 +465,7 @@ describe Vault::Rails do
|
|
412
465
|
|
413
466
|
it "allows attributes to be blank" do
|
414
467
|
person = Person.create!(non_ascii: "dás ümlaut")
|
415
|
-
person.
|
468
|
+
person.update!(non_ascii: "")
|
416
469
|
person.reload
|
417
470
|
|
418
471
|
expect(person.non_ascii).to eq("")
|
@@ -628,6 +681,46 @@ describe Vault::Rails do
|
|
628
681
|
end
|
629
682
|
end
|
630
683
|
|
684
|
+
context 'with transform_secret', ent_vault: ">= 1.4" do
|
685
|
+
before(:all) do
|
686
|
+
Vault::Rails.sys.mount("transform", :transform)
|
687
|
+
Vault::Rails.client.transform.create_transformation(
|
688
|
+
"social_sec",
|
689
|
+
template: "builtin/socialsecuritynumber",
|
690
|
+
tweak_source: "internal",
|
691
|
+
type: "fpe",
|
692
|
+
allowed_roles: [Vault::Rails.application]
|
693
|
+
)
|
694
|
+
Vault::Rails.client.transform.create_role(Vault::Rails.application, transformations: ["social_sec"])
|
695
|
+
Vault::Rails.client.transform.create_role("foobar_role", transformations: ["social_sec"])
|
696
|
+
end
|
697
|
+
|
698
|
+
it "encrypts the attribute using the given transformation" do
|
699
|
+
person = Person.create!(transform_ssn: "123-45-6789")
|
700
|
+
expect(person[:transform_ssn_encrypted]).not_to eq("123-45-6789")
|
701
|
+
expect(person[:transform_ssn_encrypted]).to match(/\d{3}-\d{2}-\d{4}/)
|
702
|
+
expect(person.transform_ssn).to eq("123-45-6789")
|
703
|
+
end
|
704
|
+
|
705
|
+
it "raises an error if the format is incorrect" do
|
706
|
+
expect{ Person.create!(transform_ssn: "1234-5678-90") }.to(
|
707
|
+
raise_error(Vault::HTTPClientError, /unable to find matching expression/)
|
708
|
+
)
|
709
|
+
end
|
710
|
+
|
711
|
+
it "raises an error if the transformation does not exist" do
|
712
|
+
expect{ Person.create!(bad_transform: "nope") }.to(
|
713
|
+
raise_error(Vault::HTTPClientError, /unable to find transformation/)
|
714
|
+
)
|
715
|
+
end
|
716
|
+
|
717
|
+
it "raises an error if the provided role doesn't have the ability to use the transformation" do
|
718
|
+
expect{ Person.create!(bad_role_transform: "123-45-6789") }.to(
|
719
|
+
raise_error(Vault::HTTPClientError, /is not an allowed role for the transformation/)
|
720
|
+
)
|
721
|
+
end
|
722
|
+
end
|
723
|
+
|
631
724
|
context 'with errors' do
|
632
725
|
it 'raises the appropriate exception' do
|
633
726
|
expect {
|
data/spec/spec_helper.rb
CHANGED
@@ -3,12 +3,31 @@ require "vault/rails"
|
|
3
3
|
|
4
4
|
require "rspec"
|
5
5
|
|
6
|
+
def vault_version_string
|
7
|
+
@vault_version_string ||= `vault --version`
|
8
|
+
end
|
9
|
+
|
10
|
+
TEST_VAULT_VERSION = Gem::Version.new(vault_version_string.match(/(\d+\.\d+\.\d+)/)[1])
|
11
|
+
|
6
12
|
RSpec.configure do |config|
|
7
13
|
# Prohibit using the should syntax
|
8
14
|
config.expect_with :rspec do |spec|
|
9
15
|
spec.syntax = :expect
|
10
16
|
end
|
11
17
|
|
18
|
+
# Allow tests to isolate a specific test using +focus: true+. If nothing
|
19
|
+
# is focused, then all tests are executed.
|
20
|
+
config.filter_run_when_matching :focus
|
21
|
+
config.filter_run_excluding vault: lambda { |v|
|
22
|
+
!vault_meets_requirements?(v)
|
23
|
+
}
|
24
|
+
config.filter_run_excluding ent_vault: lambda { |v|
|
25
|
+
!vault_is_enterprise? || !vault_meets_requirements?(v)
|
26
|
+
}
|
27
|
+
config.filter_run_excluding non_ent_vault: lambda { |v|
|
28
|
+
vault_is_enterprise? || !vault_meets_requirements?(v)
|
29
|
+
}
|
30
|
+
|
12
31
|
# Allow tests to isolate a specific test using +focus: true+. If nothing
|
13
32
|
# is focused, then all tests are executed.
|
14
33
|
config.filter_run(focus: true)
|
@@ -21,4 +40,12 @@ RSpec.configure do |config|
|
|
21
40
|
config.order = 'random'
|
22
41
|
end
|
23
42
|
|
43
|
+
def vault_is_enterprise?
|
44
|
+
!!vault_version_string.match(/\+(?:ent|prem)/)
|
45
|
+
end
|
46
|
+
|
47
|
+
def vault_meets_requirements?(v)
|
48
|
+
Gem::Requirement.new(v).satisfied_by?(TEST_VAULT_VERSION)
|
49
|
+
end
|
50
|
+
|
24
51
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vault-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Vargo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,44 +16,44 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: vault
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.14'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.14'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: pry
|
70
|
+
name: pry-byebug
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 12.3.3
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 12.3.3
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,16 +112,16 @@ dependencies:
|
|
112
112
|
name: sqlite3
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 1.3.6
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 1.3.6
|
125
125
|
description: Official Vault plugin for Rails
|
126
126
|
email:
|
127
127
|
- sethvargo@gmail.com
|
@@ -164,12 +164,9 @@ files:
|
|
164
164
|
- spec/dummy/config/locales/en.yml
|
165
165
|
- spec/dummy/config/routes.rb
|
166
166
|
- spec/dummy/config/secrets.yml
|
167
|
-
- spec/dummy/db/development.sqlite3
|
168
167
|
- spec/dummy/db/migrate/20150428220101_create_people.rb
|
169
168
|
- spec/dummy/db/schema.rb
|
170
|
-
- spec/dummy/db/test.sqlite3
|
171
169
|
- spec/dummy/lib/binary_serializer.rb
|
172
|
-
- spec/dummy/log/development.log
|
173
170
|
- spec/dummy/public/404.html
|
174
171
|
- spec/dummy/public/422.html
|
175
172
|
- spec/dummy/public/500.html
|
@@ -201,52 +198,49 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
198
|
- !ruby/object:Gem::Version
|
202
199
|
version: '0'
|
203
200
|
requirements: []
|
204
|
-
rubygems_version: 3.1.
|
201
|
+
rubygems_version: 3.1.4
|
205
202
|
signing_key:
|
206
203
|
specification_version: 4
|
207
204
|
summary: Official Vault plugin for Rails
|
208
205
|
test_files:
|
209
|
-
- spec/
|
210
|
-
- spec/
|
211
|
-
- spec/
|
212
|
-
- spec/
|
213
|
-
- spec/
|
206
|
+
- spec/support/vault_server.rb
|
207
|
+
- spec/integration/rails_spec.rb
|
208
|
+
- spec/dummy/bin/bundle
|
209
|
+
- spec/dummy/bin/rake
|
210
|
+
- spec/dummy/bin/rails
|
211
|
+
- spec/dummy/db/schema.rb
|
212
|
+
- spec/dummy/db/migrate/20150428220101_create_people.rb
|
213
|
+
- spec/dummy/public/404.html
|
214
|
+
- spec/dummy/public/422.html
|
215
|
+
- spec/dummy/public/500.html
|
216
|
+
- spec/dummy/public/favicon.ico
|
217
|
+
- spec/dummy/Rakefile
|
218
|
+
- spec/dummy/config.ru
|
214
219
|
- spec/dummy/app/models/lazy_person.rb
|
215
220
|
- spec/dummy/app/models/lazy_single_person.rb
|
216
221
|
- spec/dummy/app/models/person.rb
|
217
|
-
- spec/dummy/bin/rake
|
218
|
-
- spec/dummy/bin/bundle
|
219
|
-
- spec/dummy/bin/rails
|
220
|
-
- spec/dummy/config/secrets.yml
|
221
|
-
- spec/dummy/config/routes.rb
|
222
|
-
- spec/dummy/config/locales/en.yml
|
223
|
-
- spec/dummy/config/environments/development.rb
|
224
|
-
- spec/dummy/config/environments/test.rb
|
225
222
|
- spec/dummy/config/environment.rb
|
223
|
+
- spec/dummy/config/locales/en.yml
|
226
224
|
- spec/dummy/config/application.rb
|
227
|
-
- spec/dummy/config/
|
225
|
+
- spec/dummy/config/routes.rb
|
228
226
|
- spec/dummy/config/boot.rb
|
227
|
+
- spec/dummy/config/secrets.yml
|
228
|
+
- spec/dummy/config/environments/test.rb
|
229
|
+
- spec/dummy/config/environments/development.rb
|
230
|
+
- spec/dummy/config/initializers/inflections.rb
|
231
|
+
- spec/dummy/config/initializers/vault.rb
|
229
232
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
230
|
-
- spec/dummy/config/initializers/mime_types.rb
|
231
233
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
232
234
|
- spec/dummy/config/initializers/session_store.rb
|
233
|
-
- spec/dummy/config/initializers/
|
235
|
+
- spec/dummy/config/initializers/mime_types.rb
|
234
236
|
- spec/dummy/config/initializers/assets.rb
|
237
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
235
238
|
- spec/dummy/config/initializers/cookies_serializer.rb
|
236
|
-
- spec/dummy/config/
|
237
|
-
- spec/dummy/config/initializers/inflections.rb
|
238
|
-
- spec/dummy/config.ru
|
239
|
-
- spec/dummy/Rakefile
|
240
|
-
- spec/dummy/public/favicon.ico
|
241
|
-
- spec/dummy/public/422.html
|
242
|
-
- spec/dummy/public/500.html
|
243
|
-
- spec/dummy/public/404.html
|
239
|
+
- spec/dummy/config/database.yml
|
244
240
|
- spec/dummy/lib/binary_serializer.rb
|
245
|
-
- spec/
|
246
|
-
- spec/
|
247
|
-
- spec/
|
248
|
-
- spec/
|
249
|
-
- spec/
|
250
|
-
- spec/integration/rails_spec.rb
|
251
|
-
- spec/support/vault_server.rb
|
241
|
+
- spec/spec_helper.rb
|
242
|
+
- spec/unit/rails_spec.rb
|
243
|
+
- spec/unit/vault/rails_spec.rb
|
244
|
+
- spec/unit/encrypted_model_spec.rb
|
245
|
+
- spec/unit/rails/configurable_spec.rb
|
252
246
|
- spec/lib/vault/rails/json_serializer_spec.rb
|