attr_vault 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/attr_vault/version.rb +1 -1
- data/lib/attr_vault.rb +3 -0
- data/spec/attr_vault_spec.rb +7 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18e01d8e9bbd38cbd41cce47d4c7dd5650ec976f
|
4
|
+
data.tar.gz: ff870a7ba7ec9eacc172b21bf33db9ffb0644af1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1251126d7b737797573a7450f519c3eaf7c381830c95585dfe630652b5b9a37c1fd154e5e2f7611dcc2f647fe646a27401ca837cda225d4220b2355b9309d2bd
|
7
|
+
data.tar.gz: e9fcc3d3fb1706049626c493f40ea4be889f1acbec73fc3ac832083f3ff1dd86a4ecfa3748bb8ceea1918b7568d61d5ecef0c6f26dff139db8b1bcbc33f53060
|
data/Gemfile.lock
CHANGED
data/lib/attr_vault/version.rb
CHANGED
data/lib/attr_vault.rb
CHANGED
@@ -73,6 +73,9 @@ module AttrVault
|
|
73
73
|
self.vault_attrs << attr
|
74
74
|
|
75
75
|
define_method(name) do
|
76
|
+
if @vault_dirty_attrs.has_key? name
|
77
|
+
return @vault_dirty_attrs[name]
|
78
|
+
end
|
76
79
|
# if there is a plaintext source field, use that and ignore
|
77
80
|
# the encrypted field
|
78
81
|
if !attr.plaintext_source_field.nil? && !self[attr.plaintext_source_field].nil?
|
data/spec/attr_vault_spec.rb
CHANGED
@@ -113,6 +113,13 @@ describe AttrVault do
|
|
113
113
|
s = item.create
|
114
114
|
expect(s.secret).to be_nil
|
115
115
|
end
|
116
|
+
|
117
|
+
it "reads the correct value for a dirty field before the object is saved" do
|
118
|
+
s = item.create
|
119
|
+
secret = 'mcmurphy is lobotomized =('
|
120
|
+
s.secret = secret
|
121
|
+
expect(s.secret).to eq secret
|
122
|
+
end
|
116
123
|
end
|
117
124
|
end
|
118
125
|
|