mongoid-kms 0.0.10 → 0.0.11

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: 05f0ee3009b4addd70cfa15fe4285df90784c46f
4
- data.tar.gz: 24420b6a1a7caf4dbeddd811f039587b77b27c4a
3
+ metadata.gz: c2d91bf34434d5bc952b649c996fb594751110f2
4
+ data.tar.gz: fca124ca4a8bbd3835ed1842fa7342b94dbef84c
5
5
  SHA512:
6
- metadata.gz: 57fa7cbeaec0835835532a03b0e774d36bf9b8e3b782f07f868cfdb67fc67d0da997d99449bcac7aead43b48d569627590889739befcb04ff7b2bfa69d91056e
7
- data.tar.gz: 90f1e45309df54edb5029d424d6a1a9e6c2a45683e0b7ffce963fc661ed2faae198ba8906b01e321652ad4bd2c16cebdb3d04a7e597313838d5d42e0053f1008
6
+ metadata.gz: 04c5369054a350a607f471c16613a5ba46f70761aa52ca8d188865ceff80e1cfe506cba3072d0a0d06712ee2502cd2699297300c90723bdf1278af06e08bbc0e
7
+ data.tar.gz: 9dfcc7c310ac77213c01a86a66a2a6b50fe5c7d7d671e39893f49729e7386f5bf7ec4f40efc184e3a0224e244f9a265da6868566c7aa992b75aadb7a4d705a20
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Kms
3
- VERSION = "0.0.10"
3
+ VERSION = "0.0.11"
4
4
  end
5
5
  end
data/lib/mongoid/kms.rb CHANGED
@@ -38,24 +38,24 @@ module Mongoid
38
38
  end
39
39
 
40
40
  module ClassMethods
41
- def encrypt_field(field_name, value)
41
+ def encrypt_field(object, field_name, value)
42
42
  Mongoid::Kms.kms.encrypt({
43
43
  key_id: Mongoid::Kms.key,
44
44
  plaintext: value,
45
- encryption_context: kms_context(field_name)
45
+ encryption_context: kms_context(object, field_name)
46
46
  })[:ciphertext_blob].force_encoding('UTF-8')
47
47
  end
48
48
 
49
- def decrypt_field(field_name, data)
49
+ def decrypt_field(object, field_name, data)
50
50
  Mongoid::Kms.kms.decrypt({
51
51
  ciphertext_blob: data,
52
- encryption_context: kms_context(field_name)
52
+ encryption_context: kms_context(object, field_name)
53
53
  })[:plaintext]
54
54
  end
55
55
 
56
- def kms_context(field_name)
56
+ def kms_context(object, field_name)
57
57
  c = @kms_field_map[field_name.to_s][:context]
58
- c = c.call(self) if c.is_a?(Proc)
58
+ c = c.call(object) if c.is_a?(Proc)
59
59
  c
60
60
  end
61
61
 
@@ -73,7 +73,7 @@ module Mongoid
73
73
 
74
74
  define_method(field_name) do
75
75
  instance_variable_get("@#{field_name}") || begin
76
- v = self.class.decrypt_field(field_name, send("kms_secure_#{field_name}"))
76
+ v = self.class.decrypt_field(self, field_name, send("kms_secure_#{field_name}"))
77
77
  instance_variable_set("@#{field_name}", v)
78
78
  v
79
79
  end
@@ -81,7 +81,7 @@ module Mongoid
81
81
 
82
82
  define_method("#{field_name}=") do |value|
83
83
  instance_variable_set("@#{field_name}", value)
84
- self.send("#{encrypted_field_name}=", self.class.encrypt_field(field_name, value))
84
+ self.send("#{encrypted_field_name}=", self.class.encrypt_field(self, field_name, value))
85
85
  end
86
86
  end
87
87
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Winslett