attr_encrypted 1.3.3 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +0 -0
- data/.gitignore +6 -0
- data/.travis.yml +24 -0
- data/CHANGELOG.md +79 -0
- data/Gemfile +3 -0
- data/README.md +444 -0
- data/Rakefile +4 -15
- data/attr_encrypted.gemspec +63 -0
- data/certs/saghaulor.pem +21 -0
- data/checksum/attr_encrypted-3.0.0.gem.sha256 +1 -0
- data/checksum/attr_encrypted-3.0.0.gem.sha512 +1 -0
- data/lib/attr_encrypted.rb +196 -105
- data/lib/attr_encrypted/adapters/active_record.rb +64 -21
- data/lib/attr_encrypted/adapters/data_mapper.rb +1 -0
- data/lib/attr_encrypted/adapters/sequel.rb +1 -0
- data/lib/attr_encrypted/version.rb +3 -3
- data/test/active_record_test.rb +157 -57
- data/test/attr_encrypted_test.rb +117 -55
- data/test/compatibility_test.rb +20 -37
- data/test/data_mapper_test.rb +6 -6
- data/test/legacy_active_record_test.rb +16 -12
- data/test/legacy_attr_encrypted_test.rb +31 -30
- data/test/legacy_compatibility_test.rb +22 -31
- data/test/legacy_data_mapper_test.rb +11 -8
- data/test/legacy_sequel_test.rb +13 -9
- data/test/run.sh +12 -52
- data/test/sequel_test.rb +6 -6
- data/test/test_helper.rb +28 -16
- metadata +121 -70
- metadata.gz.sig +0 -0
- data/README.rdoc +0 -302
data/test/run.sh
CHANGED
@@ -1,52 +1,12 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
bundle exec rake
|
11
|
-
|
12
|
-
|
13
|
-
bundle exec rake
|
14
|
-
export ACTIVERECORD=3.1.0
|
15
|
-
bundle
|
16
|
-
bundle exec rake
|
17
|
-
export ACTIVERECORD=3.2.0
|
18
|
-
bundle
|
19
|
-
bundle exec rake
|
20
|
-
|
21
|
-
export RBENV_VERSION=1.9.3-p484
|
22
|
-
rbenv version
|
23
|
-
|
24
|
-
export ACTIVERECORD=3.0.0
|
25
|
-
bundle
|
26
|
-
bundle exec rake
|
27
|
-
export ACTIVERECORD=3.1.0
|
28
|
-
bundle
|
29
|
-
bundle exec rake
|
30
|
-
export ACTIVERECORD=3.2.0
|
31
|
-
bundle
|
32
|
-
bundle exec rake
|
33
|
-
export ACTIVERECORD=4.0.0
|
34
|
-
bundle
|
35
|
-
bundle exec rake
|
36
|
-
|
37
|
-
export RBENV_VERSION=2.0.0-p353
|
38
|
-
rbenv version
|
39
|
-
|
40
|
-
export ACTIVERECORD=3.2.0
|
41
|
-
bundle
|
42
|
-
bundle exec rake
|
43
|
-
export ACTIVERECORD=4.0.0
|
44
|
-
bundle
|
45
|
-
bundle exec rake
|
46
|
-
|
47
|
-
export RBENV_VERSION=2.1.0
|
48
|
-
rbenv version
|
49
|
-
|
50
|
-
export ACTIVERECORD=4.0.0
|
51
|
-
bundle
|
52
|
-
bundle exec rake
|
1
|
+
#!/usr/bin/env sh -e
|
2
|
+
|
3
|
+
for RUBY in 1.9.3 2.0.0 2.1 2.2
|
4
|
+
do
|
5
|
+
for RAILS in 2.3.8 3.0.0 3.1.0 3.2.0 4.0.0 4.1.0 4.2.0
|
6
|
+
do
|
7
|
+
if [[ $RUBY -gt 1.9.3 && $RAILS -lt 4.0.0 ]]; then
|
8
|
+
continue
|
9
|
+
fi
|
10
|
+
RBENV_VERSION=$RUBY ACTIVERECORD=$RAILS bundle && bundle exec rake
|
11
|
+
done
|
12
|
+
done
|
data/test/sequel_test.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative 'test_helper'
|
2
2
|
|
3
3
|
DB.create_table :humans do
|
4
4
|
primary_key :id
|
@@ -22,7 +22,7 @@ class Human < Sequel::Model(:humans)
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
class SequelTest < Test
|
25
|
+
class SequelTest < Minitest::Test
|
26
26
|
|
27
27
|
def setup
|
28
28
|
Human.all.each(&:destroy)
|
@@ -31,8 +31,8 @@ class SequelTest < Test::Unit::TestCase
|
|
31
31
|
def test_should_encrypt_email
|
32
32
|
@human = Human.new :email => 'test@example.com'
|
33
33
|
assert @human.save
|
34
|
-
|
35
|
-
|
34
|
+
refute_nil @human.encrypted_email
|
35
|
+
refute_equal @human.email, @human.encrypted_email
|
36
36
|
assert_equal @human.email, Human.first.email
|
37
37
|
end
|
38
38
|
|
@@ -40,8 +40,8 @@ class SequelTest < Test::Unit::TestCase
|
|
40
40
|
|
41
41
|
@human = Human.new :credentials => { :username => 'example', :password => 'test' }
|
42
42
|
assert @human.save
|
43
|
-
|
44
|
-
|
43
|
+
refute_nil @human.encrypted_credentials
|
44
|
+
refute_equal @human.credentials, @human.encrypted_credentials
|
45
45
|
assert_equal @human.credentials, Human.first.credentials
|
46
46
|
assert Human.first.credentials.is_a?(Hash)
|
47
47
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,33 +1,42 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
require 'simplecov'
|
2
|
+
require 'simplecov-rcov'
|
3
|
+
require "codeclimate-test-reporter"
|
4
4
|
|
5
|
-
|
5
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
|
6
|
+
[
|
6
7
|
SimpleCov::Formatter::HTMLFormatter,
|
7
8
|
SimpleCov::Formatter::RcovFormatter,
|
9
|
+
CodeClimate::TestReporter::Formatter
|
8
10
|
]
|
11
|
+
)
|
9
12
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
+
SimpleCov.start do
|
14
|
+
add_filter 'test'
|
15
|
+
end
|
16
|
+
|
17
|
+
CodeClimate::TestReporter.start
|
18
|
+
|
19
|
+
require 'minitest/autorun'
|
20
|
+
|
21
|
+
# Rails 4.0.x pins to an old minitest
|
22
|
+
unless defined?(MiniTest::Test)
|
23
|
+
MiniTest::Test = MiniTest::Unit::TestCase
|
13
24
|
end
|
14
25
|
|
15
|
-
require 'test/unit'
|
16
|
-
require 'digest/sha2'
|
17
|
-
require 'rubygems'
|
18
|
-
gem 'activerecord', ENV['ACTIVE_RECORD_VERSION'] if ENV['ACTIVE_RECORD_VERSION']
|
19
26
|
require 'active_record'
|
20
27
|
require 'data_mapper'
|
28
|
+
require 'digest/sha2'
|
21
29
|
require 'sequel'
|
22
|
-
require 'mocha/test_unit'
|
23
30
|
|
24
31
|
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
25
32
|
$:.unshift(File.dirname(__FILE__))
|
26
33
|
require 'attr_encrypted'
|
27
34
|
|
28
|
-
|
29
|
-
|
30
|
-
|
35
|
+
DB = if defined?(RUBY_ENGINE) && RUBY_ENGINE.to_sym == :jruby
|
36
|
+
Sequel.jdbc('jdbc:sqlite::memory:')
|
37
|
+
else
|
38
|
+
Sequel.sqlite
|
39
|
+
end
|
31
40
|
|
32
41
|
# The :after_initialize hook was removed in Sequel 4.0
|
33
42
|
# and had been deprecated for a while before that:
|
@@ -35,5 +44,8 @@ DB = Sequel.sqlite
|
|
35
44
|
# This plugin re-enables it.
|
36
45
|
Sequel::Model.plugin :after_initialize
|
37
46
|
|
38
|
-
SECRET_KEY =
|
47
|
+
SECRET_KEY = SecureRandom.random_bytes(32)
|
39
48
|
|
49
|
+
def base64_encoding_regex
|
50
|
+
/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{4})$/
|
51
|
+
end
|
metadata
CHANGED
@@ -1,195 +1,234 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attr_encrypted
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sean Huber
|
9
8
|
- S. Brent Faulkner
|
10
9
|
- William Monk
|
10
|
+
- Stephen Aghaulor
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
|
-
cert_chain:
|
14
|
-
|
13
|
+
cert_chain:
|
14
|
+
- |
|
15
|
+
-----BEGIN CERTIFICATE-----
|
16
|
+
MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlzYWdo
|
17
|
+
YXVsb3IxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
|
18
|
+
bTAeFw0xNjAxMTEyMjQyMDFaFw0xNzAxMTAyMjQyMDFaMEAxEjAQBgNVBAMMCXNh
|
19
|
+
Z2hhdWxvcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
|
20
|
+
Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx0xdQYk2GwCpQ1n/
|
21
|
+
n2mPVYHLYqU5TAn/82t5kbqBUWjbcj8tHAi41tJ19+fT/hH0dog8JHvho1zmOr71
|
22
|
+
ZIqreJQo60TqP6oE9a5HncUpjqbRp7tOmHo9E+mOW1yT4NiXqFf1YINExQKy2XND
|
23
|
+
WPQ+T50ZNUsGMfHFWB4NAymejRWXlOEY3bvKW0UHFeNmouP5he51TjoP8uCc9536
|
24
|
+
4AIWVP/zzzjwrFtC7av7nRw4Y+gX2bQjrkK2k2JS0ejiGzKBIEMJejcI2B+t79zT
|
25
|
+
kUQq9SFwp2BrKSIy+4kh4CiF20RT/Hfc1MbvTxSIl/bbIxCYEOhmtHExHi0CoCWs
|
26
|
+
YCGCXQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
|
27
|
+
SCpVzSBvYbO6B3oT3n3RCZmurG8wHgYDVR0RBBcwFYETc2FnaGF1bG9yQGdtYWls
|
28
|
+
LmNvbTAeBgNVHRIEFzAVgRNzYWdoYXVsb3JAZ21haWwuY29tMA0GCSqGSIb3DQEB
|
29
|
+
BQUAA4IBAQAeiGdC3e0WiZpm0cF/b7JC6hJYXC9Yv9VsRAWD9ROsLjFKwOhmonnc
|
30
|
+
+l/QrmoTjMakYXBCai/Ca3L+k5eRrKilgyITILsmmFxK8sqPJXUw2Jmwk/dAky6x
|
31
|
+
hHKVZAofT1OrOOPJ2USoZyhR/VI8epLaD5wUmkVDNqtZWviW+dtRa55aPYjRw5Pj
|
32
|
+
wuj9nybhZr+BbEbmZE//2nbfkM4hCuMtxxxilPrJ22aYNmeWU0wsPpDyhPYxOUgU
|
33
|
+
ZjeLmnSDiwL6doiP5IiwALH/dcHU67ck3NGf6XyqNwQrrmtPY0mv1WVVL4Uh+vYE
|
34
|
+
kHoFzE2no0BfBg78Re8fY69P5yES5ncC
|
35
|
+
-----END CERTIFICATE-----
|
36
|
+
date: 2016-04-02 00:00:00.000000000 Z
|
15
37
|
dependencies:
|
16
38
|
- !ruby/object:Gem::Dependency
|
17
39
|
name: encryptor
|
18
40
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
41
|
requirements:
|
21
|
-
- -
|
42
|
+
- - "~>"
|
22
43
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
44
|
+
version: 3.0.0
|
24
45
|
type: :runtime
|
25
46
|
prerelease: false
|
26
47
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
48
|
requirements:
|
29
|
-
- -
|
49
|
+
- - "~>"
|
30
50
|
- !ruby/object:Gem::Version
|
31
|
-
version:
|
51
|
+
version: 3.0.0
|
32
52
|
- !ruby/object:Gem::Dependency
|
33
53
|
name: activerecord
|
34
54
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
55
|
requirements:
|
37
|
-
- -
|
56
|
+
- - ">="
|
38
57
|
- !ruby/object:Gem::Version
|
39
58
|
version: 2.0.0
|
40
59
|
type: :development
|
41
60
|
prerelease: false
|
42
61
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
62
|
requirements:
|
45
|
-
- -
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 2.0.0
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
name: actionpack
|
68
|
+
requirement: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 2.0.0
|
73
|
+
type: :development
|
74
|
+
prerelease: false
|
75
|
+
version_requirements: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
46
78
|
- !ruby/object:Gem::Version
|
47
79
|
version: 2.0.0
|
48
80
|
- !ruby/object:Gem::Dependency
|
49
81
|
name: datamapper
|
50
82
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
83
|
requirements:
|
53
|
-
- -
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
type: :development
|
88
|
+
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rake
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
54
99
|
- !ruby/object:Gem::Version
|
55
100
|
version: '0'
|
56
101
|
type: :development
|
57
102
|
prerelease: false
|
58
103
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
104
|
requirements:
|
61
|
-
- -
|
105
|
+
- - ">="
|
62
106
|
- !ruby/object:Gem::Version
|
63
107
|
version: '0'
|
64
108
|
- !ruby/object:Gem::Dependency
|
65
|
-
name:
|
109
|
+
name: minitest
|
66
110
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
111
|
requirements:
|
69
|
-
- -
|
112
|
+
- - ">="
|
70
113
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
114
|
+
version: '0'
|
72
115
|
type: :development
|
73
116
|
prerelease: false
|
74
117
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
118
|
requirements:
|
77
|
-
- -
|
119
|
+
- - ">="
|
78
120
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
121
|
+
version: '0'
|
80
122
|
- !ruby/object:Gem::Dependency
|
81
123
|
name: sequel
|
82
124
|
requirement: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
125
|
requirements:
|
85
|
-
- -
|
126
|
+
- - ">="
|
86
127
|
- !ruby/object:Gem::Version
|
87
128
|
version: '0'
|
88
129
|
type: :development
|
89
130
|
prerelease: false
|
90
131
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
132
|
requirements:
|
93
|
-
- -
|
133
|
+
- - ">="
|
94
134
|
- !ruby/object:Gem::Version
|
95
135
|
version: '0'
|
96
136
|
- !ruby/object:Gem::Dependency
|
97
137
|
name: sqlite3
|
98
138
|
requirement: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
139
|
requirements:
|
101
|
-
- -
|
140
|
+
- - ">="
|
102
141
|
- !ruby/object:Gem::Version
|
103
142
|
version: '0'
|
104
143
|
type: :development
|
105
144
|
prerelease: false
|
106
145
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
146
|
requirements:
|
109
|
-
- -
|
147
|
+
- - ">="
|
110
148
|
- !ruby/object:Gem::Version
|
111
149
|
version: '0'
|
112
150
|
- !ruby/object:Gem::Dependency
|
113
151
|
name: dm-sqlite-adapter
|
114
152
|
requirement: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
153
|
requirements:
|
117
|
-
- -
|
154
|
+
- - ">="
|
118
155
|
- !ruby/object:Gem::Version
|
119
156
|
version: '0'
|
120
157
|
type: :development
|
121
158
|
prerelease: false
|
122
159
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
160
|
requirements:
|
125
|
-
- -
|
161
|
+
- - ">="
|
126
162
|
- !ruby/object:Gem::Version
|
127
163
|
version: '0'
|
128
164
|
- !ruby/object:Gem::Dependency
|
129
|
-
name:
|
165
|
+
name: simplecov
|
130
166
|
requirement: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
167
|
requirements:
|
133
|
-
- -
|
168
|
+
- - ">="
|
134
169
|
- !ruby/object:Gem::Version
|
135
|
-
version: 0
|
170
|
+
version: '0'
|
136
171
|
type: :development
|
137
172
|
prerelease: false
|
138
173
|
version_requirements: !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
174
|
requirements:
|
141
|
-
- -
|
175
|
+
- - ">="
|
142
176
|
- !ruby/object:Gem::Version
|
143
|
-
version: 0
|
177
|
+
version: '0'
|
144
178
|
- !ruby/object:Gem::Dependency
|
145
|
-
name: simplecov
|
179
|
+
name: simplecov-rcov
|
146
180
|
requirement: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
181
|
requirements:
|
149
|
-
- -
|
182
|
+
- - ">="
|
150
183
|
- !ruby/object:Gem::Version
|
151
184
|
version: '0'
|
152
185
|
type: :development
|
153
186
|
prerelease: false
|
154
187
|
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
188
|
requirements:
|
157
|
-
- -
|
189
|
+
- - ">="
|
158
190
|
- !ruby/object:Gem::Version
|
159
191
|
version: '0'
|
160
192
|
- !ruby/object:Gem::Dependency
|
161
|
-
name:
|
193
|
+
name: codeclimate-test-reporter
|
162
194
|
requirement: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
195
|
requirements:
|
165
|
-
- -
|
196
|
+
- - ">="
|
166
197
|
- !ruby/object:Gem::Version
|
167
198
|
version: '0'
|
168
199
|
type: :development
|
169
200
|
prerelease: false
|
170
201
|
version_requirements: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
202
|
requirements:
|
173
|
-
- -
|
203
|
+
- - ">="
|
174
204
|
- !ruby/object:Gem::Version
|
175
205
|
version: '0'
|
176
206
|
description: Generates attr_accessors that encrypt and decrypt attributes transparently
|
177
207
|
email:
|
178
|
-
- shuber
|
208
|
+
- seah@shuber.io
|
179
209
|
- sbfaulkner@gmail.com
|
180
210
|
- billy.monk@gmail.com
|
211
|
+
- saghaulor@gmail.com
|
181
212
|
executables: []
|
182
213
|
extensions: []
|
183
214
|
extra_rdoc_files: []
|
184
215
|
files:
|
216
|
+
- ".gitignore"
|
217
|
+
- ".travis.yml"
|
218
|
+
- CHANGELOG.md
|
219
|
+
- Gemfile
|
220
|
+
- MIT-LICENSE
|
221
|
+
- README.md
|
222
|
+
- Rakefile
|
223
|
+
- attr_encrypted.gemspec
|
224
|
+
- certs/saghaulor.pem
|
225
|
+
- checksum/attr_encrypted-3.0.0.gem.sha256
|
226
|
+
- checksum/attr_encrypted-3.0.0.gem.sha512
|
227
|
+
- lib/attr_encrypted.rb
|
185
228
|
- lib/attr_encrypted/adapters/active_record.rb
|
186
229
|
- lib/attr_encrypted/adapters/data_mapper.rb
|
187
230
|
- lib/attr_encrypted/adapters/sequel.rb
|
188
231
|
- lib/attr_encrypted/version.rb
|
189
|
-
- lib/attr_encrypted.rb
|
190
|
-
- MIT-LICENSE
|
191
|
-
- Rakefile
|
192
|
-
- README.rdoc
|
193
232
|
- test/active_record_test.rb
|
194
233
|
- test/attr_encrypted_test.rb
|
195
234
|
- test/compatibility_test.rb
|
@@ -204,31 +243,42 @@ files:
|
|
204
243
|
- test/test_helper.rb
|
205
244
|
homepage: http://github.com/attr-encrypted/attr_encrypted
|
206
245
|
licenses: []
|
207
|
-
|
246
|
+
metadata: {}
|
247
|
+
post_install_message: |2+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
WARNING: Several insecure default options and features were deprecated in attr_encrypted v2.0.0.
|
252
|
+
|
253
|
+
Additionally, there was a bug in Encryptor v2.0.0 that insecurely encrypted data when using an AES-*-GCM algorithm.
|
254
|
+
|
255
|
+
This bug was fixed but introduced breaking changes between v2.x and v3.x.
|
256
|
+
|
257
|
+
Please see the README for more information regarding upgrading to attr_encrypted v3.0.0.
|
258
|
+
|
259
|
+
|
208
260
|
rdoc_options:
|
209
|
-
- --line-numbers
|
210
|
-
- --inline-source
|
211
|
-
- --main
|
261
|
+
- "--line-numbers"
|
262
|
+
- "--inline-source"
|
263
|
+
- "--main"
|
212
264
|
- README.rdoc
|
213
265
|
require_paths:
|
214
266
|
- lib
|
215
267
|
required_ruby_version: !ruby/object:Gem::Requirement
|
216
|
-
none: false
|
217
268
|
requirements:
|
218
|
-
- -
|
269
|
+
- - ">="
|
219
270
|
- !ruby/object:Gem::Version
|
220
|
-
version:
|
271
|
+
version: 2.0.0
|
221
272
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
|
-
none: false
|
223
273
|
requirements:
|
224
|
-
- -
|
274
|
+
- - ">="
|
225
275
|
- !ruby/object:Gem::Version
|
226
276
|
version: '0'
|
227
277
|
requirements: []
|
228
278
|
rubyforge_project:
|
229
|
-
rubygems_version:
|
279
|
+
rubygems_version: 2.4.5.1
|
230
280
|
signing_key:
|
231
|
-
specification_version:
|
281
|
+
specification_version: 4
|
232
282
|
summary: Encrypt and decrypt attributes
|
233
283
|
test_files:
|
234
284
|
- test/active_record_test.rb
|
@@ -243,3 +293,4 @@ test_files:
|
|
243
293
|
- test/run.sh
|
244
294
|
- test/sequel_test.rb
|
245
295
|
- test/test_helper.rb
|
296
|
+
has_rdoc: false
|