mongoid-kms 0.0.11 → 0.0.12
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/README.md +7 -0
- data/lib/mongoid/kms/mock.rb +16 -0
- data/lib/mongoid/kms/version.rb +1 -1
- data/lib/mongoid/kms.rb +1 -1
- data/mongoid-kms.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c998e6eb0a1b3f78667887c59319435fba2cd6c8
|
4
|
+
data.tar.gz: 330bbd908224e7026e2555864ec69de736bafe28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd768852d59295b7fca4528ed017d0617a863b08c457e5de0e87d3585f060547cefb3ad5d0d2acc3615cda736e6e2293a50f8539d71b1af20ead2024affcd6be
|
7
|
+
data.tar.gz: 26f2a8d8ac06e0f1ad76bfdd4e2398d70b8440107f9a42ea1b7c81f914c4b6358631d76a7a5501ee9c7cc61a1519666b5a2079985f2134e411940f8240d44ea9
|
data/README.md
CHANGED
@@ -30,6 +30,8 @@ AWS_SECRET_ACCESS_KEY # an IAM access secret
|
|
30
30
|
Somewhere before your run your application, you will need to add this:
|
31
31
|
|
32
32
|
```ruby
|
33
|
+
require 'mongoid/kms'
|
34
|
+
|
33
35
|
Mongoid::Kms.configure({region: "us-east-1", key: "your aws kms key id i.e <02342-234-232-234-234>"})
|
34
36
|
```
|
35
37
|
|
@@ -50,3 +52,8 @@ class MyClass
|
|
50
52
|
end
|
51
53
|
end
|
52
54
|
```
|
55
|
+
|
56
|
+
## Development and Testing
|
57
|
+
|
58
|
+
In development or testing, just require `mongoid/kms/mock` and the
|
59
|
+
package will use Rot13 for encryption.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'mongoid/kms'
|
2
|
+
require 'rot13'
|
3
|
+
|
4
|
+
module Mongoid
|
5
|
+
module Kms
|
6
|
+
module ClassMethods
|
7
|
+
def encrypt_field(object, field_name, value)
|
8
|
+
Rot13.rotate(value, 13)
|
9
|
+
end
|
10
|
+
|
11
|
+
def decrypt_field(object, field_name, data)
|
12
|
+
Rot13.rotate(data, -13)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/mongoid/kms/version.rb
CHANGED
data/lib/mongoid/kms.rb
CHANGED
@@ -73,7 +73,7 @@ module Mongoid
|
|
73
73
|
|
74
74
|
define_method(field_name) do
|
75
75
|
instance_variable_get("@#{field_name}") || begin
|
76
|
-
|
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
|
data/mongoid-kms.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-kms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Winslett
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mongoid
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - '>='
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rot13
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
139
153
|
description: Need to encrypt your datas? Use AWS's KMS for data encryption.
|
140
154
|
email:
|
141
155
|
- chris@mongohq.com
|
@@ -151,6 +165,7 @@ files:
|
|
151
165
|
- Rakefile
|
152
166
|
- circle.yml
|
153
167
|
- lib/mongoid/kms.rb
|
168
|
+
- lib/mongoid/kms/mock.rb
|
154
169
|
- lib/mongoid/kms/version.rb
|
155
170
|
- mongoid-kms.gemspec
|
156
171
|
- spec/lib/mongoid/kms_spec.rb
|