attr_cipher 1.1.0 → 1.2.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 +12 -9
- data/lib/attr_cipher/version.rb +2 -2
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '028e1e05b611dc3e8076d5c4df72906eaeb140f7'
|
4
|
+
data.tar.gz: 79154ae0e9ae0d7fd2ea7e9fed7cd0de31d6347b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fceb794e899feeaf99ca4aeefcdc9709541425d6b4852c9b1d674cbca82c2a667370321264e109477bb49d2f3ab05dc89f78e8e07b00c04588d83cbe7ade5d2c
|
7
|
+
data.tar.gz: b11e01c3de37fd7f23b455fe9af84aeb8d0055d94c06bfc294072cb1ba7ea218d0cf7b8d3d36f7210c14a09b10dee51247886964087c602cfead72a43e167f26
|
data/README.md
CHANGED
@@ -54,24 +54,27 @@ class User
|
|
54
54
|
end
|
55
55
|
```
|
56
56
|
|
57
|
-
|
57
|
+
Add the attribute as a column to your ActiveRecord migration with `_cipher` appended to the attribute name:
|
58
58
|
|
59
59
|
```ruby
|
60
60
|
ActiveRecord::Schema.define do
|
61
61
|
create_table :users do |t|
|
62
|
-
t.text :
|
63
|
-
t.text :security_answer_cipher
|
62
|
+
t.text :api_key_cipher
|
64
63
|
end
|
65
64
|
end
|
65
|
+
```
|
66
|
+
|
67
|
+
Attributes to be encrypted are declared using the `attr_cipher` class method in your model:
|
66
68
|
|
69
|
+
```ruby
|
67
70
|
class User < ActiveRecord::Base
|
68
|
-
attr_cipher :
|
71
|
+
attr_cipher :api_key
|
69
72
|
end
|
70
73
|
```
|
71
74
|
|
72
|
-
**AttrCipher** automatically creates the `#
|
73
|
-
|
74
|
-
If you don't want to use the AES-256-CBC cipher, you can provide your own cipher
|
75
|
+
In the above example, **AttrCipher** automatically creates the `#api_key` getter and `#api_key=` setter. The getter automatically decrypts the return value. The setter encrypts the value provided and stores it in the `api_key_cipher` column.
|
76
|
+
|
77
|
+
If you don't want to use the AES-256-CBC cipher, you can provide your own cipher object. Define an object that responds to `encrypt(secret, value)` and `decrypt(secret, value)` class methods:
|
75
78
|
|
76
79
|
```ruby
|
77
80
|
module CustomCipher
|
@@ -84,7 +87,7 @@ module CustomCipher
|
|
84
87
|
end
|
85
88
|
```
|
86
89
|
|
87
|
-
Then pass the custom cipher
|
90
|
+
Then pass the custom cipher object to the `cipher` option of the `attr_cipher` class method:
|
88
91
|
|
89
92
|
```ruby
|
90
93
|
class User < ActiveRecord::Base
|
@@ -112,7 +115,7 @@ bundle exec rake
|
|
112
115
|
|
113
116
|
## Credit
|
114
117
|
|
115
|
-
I would like to thank [Nando Vieira](http://nandovieira.com/) for his [encrypt_attr](https://github.com/fnando/encrypt_attr) gem which
|
118
|
+
I would like to thank [Nando Vieira](http://nandovieira.com/) for his [encrypt_attr](https://github.com/fnando/encrypt_attr) gem from which some of the code was derived.
|
116
119
|
|
117
120
|
This gem was written and is maintained by [Jurgen Jocubeit](https://github.com/JurgenJocubeit), CEO and President Brightcommerce, Inc.
|
118
121
|
|
data/lib/attr_cipher/version.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module AttrCipher
|
2
2
|
module VERSION
|
3
3
|
MAJOR = 1
|
4
|
-
MINOR =
|
4
|
+
MINOR = 2
|
5
5
|
TINY = 0
|
6
6
|
PRE = nil
|
7
7
|
STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
|
8
8
|
SUMMARY = "AttrCipher v#{STRING}"
|
9
|
-
DESCRIPTION = "Provides functionality to store encrypted attributes
|
9
|
+
DESCRIPTION = "Provides functionality to transparently store and retrieve encrypted attributes in ActiveRecord models."
|
10
10
|
end
|
11
11
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attr_cipher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurgen Jocubeit
|
@@ -120,7 +120,8 @@ dependencies:
|
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: 0.11.2
|
123
|
-
description: Provides functionality to store
|
123
|
+
description: Provides functionality to transparently store and retrieve encrypted
|
124
|
+
attributes in ActiveRecord models.
|
124
125
|
email:
|
125
126
|
- support@brightcommerce.com
|
126
127
|
executables: []
|
@@ -158,5 +159,5 @@ rubyforge_project:
|
|
158
159
|
rubygems_version: 2.5.1
|
159
160
|
signing_key:
|
160
161
|
specification_version: 4
|
161
|
-
summary: AttrCipher v1.
|
162
|
+
summary: AttrCipher v1.2.0
|
162
163
|
test_files: []
|