mongoid-kms 0.0.10 → 0.0.11

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 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