lockbox 0.6.4 → 0.6.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -0
- data/LICENSE.txt +1 -1
- data/README.md +10 -2
- data/lib/lockbox/model.rb +8 -3
- data/lib/lockbox/version.rb +1 -1
- data/lib/lockbox.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cc5589dbbfae34908ffdd634798549fa161c7dc79b528f23b8e097a044f3d9d
|
4
|
+
data.tar.gz: 3eb23c1dfb284abb335e2addfb20fee77b31373b561ab6c0f9afaf28abf8aeb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0bd8a7ee500cbba73daa2ef0c9c6af07695b53799735f865d5b0e9e907e8ef86904983d5f8cfdff098b554d4cd9d4351133778079bde93a7440bbacf03d0545
|
7
|
+
data.tar.gz: ea83a9ecb7734e907a03be89e628fc103815b0cc5acc2aec0c21dc0f2d6b7e746f299a489d4a11b14f413a55c4fb06b45d6e23302c853c8b216ad2bca63218d6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
## 0.6.8 (2022-01-25)
|
2
|
+
|
3
|
+
- Fixed issue with `encrypts` loading model schema early
|
4
|
+
- Removed warning for attributes with `default` option
|
5
|
+
|
6
|
+
## 0.6.7 (2022-01-25)
|
7
|
+
|
8
|
+
- Added warning for attributes with `default` option
|
9
|
+
- Removed warning for Active Record 5.0 (still supported)
|
10
|
+
|
11
|
+
## 0.6.6 (2021-09-27)
|
12
|
+
|
13
|
+
- Fixed `attribute?` method for `boolean` and `integer` types
|
14
|
+
|
15
|
+
## 0.6.5 (2021-07-07)
|
16
|
+
|
17
|
+
- Fixed issue with `pluck` extension not loading in some cases
|
18
|
+
|
1
19
|
## 0.6.4 (2021-04-05)
|
2
20
|
|
3
21
|
- Fixed in place changes in callbacks
|
@@ -17,6 +35,7 @@
|
|
17
35
|
## 0.6.1 (2020-12-03)
|
18
36
|
|
19
37
|
- Added integration with Rails credentials
|
38
|
+
- Added warning for unsupported versions of Active Record
|
20
39
|
- Fixed in place changes for Active Record 6.1
|
21
40
|
- Fixed error with `content_type` method for CarrierWave < 2
|
22
41
|
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -16,7 +16,7 @@ Learn [the principles behind it](https://ankane.org/modern-encryption-rails), [h
|
|
16
16
|
Add this line to your application’s Gemfile:
|
17
17
|
|
18
18
|
```ruby
|
19
|
-
gem
|
19
|
+
gem "lockbox"
|
20
20
|
```
|
21
21
|
|
22
22
|
## Key Generation
|
@@ -87,6 +87,8 @@ class User < ApplicationRecord
|
|
87
87
|
end
|
88
88
|
```
|
89
89
|
|
90
|
+
**Note:** With Rails 7, use `lockbox_encrypts` instead of `encrypts`
|
91
|
+
|
90
92
|
You can use `email` just like any other attribute.
|
91
93
|
|
92
94
|
```ruby
|
@@ -336,6 +338,8 @@ def license
|
|
336
338
|
end
|
337
339
|
```
|
338
340
|
|
341
|
+
Use `filename` to specify a filename or `disposition: "inline"` to show inline.
|
342
|
+
|
339
343
|
#### Migrating Existing Files
|
340
344
|
|
341
345
|
Lockbox makes it easy to encrypt existing files without downtime.
|
@@ -401,6 +405,8 @@ def license
|
|
401
405
|
end
|
402
406
|
```
|
403
407
|
|
408
|
+
Use `filename` to specify a filename or `disposition: "inline"` to show inline.
|
409
|
+
|
404
410
|
#### Migrating Existing Files
|
405
411
|
|
406
412
|
Encrypt existing files without downtime. Create a new encrypted uploader:
|
@@ -476,6 +482,8 @@ def license
|
|
476
482
|
end
|
477
483
|
```
|
478
484
|
|
485
|
+
Use `filename` to specify a filename or `disposition: "inline"` to show inline.
|
486
|
+
|
479
487
|
#### Non-Models
|
480
488
|
|
481
489
|
Generate a key
|
@@ -711,7 +719,7 @@ brew install libsodium
|
|
711
719
|
And add to your Gemfile:
|
712
720
|
|
713
721
|
```ruby
|
714
|
-
gem
|
722
|
+
gem "rbnacl"
|
715
723
|
```
|
716
724
|
|
717
725
|
Then add to your model:
|
data/lib/lockbox/model.rb
CHANGED
@@ -309,6 +309,11 @@ module Lockbox
|
|
309
309
|
super()
|
310
310
|
end
|
311
311
|
end
|
312
|
+
|
313
|
+
define_method("#{name}?") do
|
314
|
+
# uses public_send, so we don't need to preload attribute
|
315
|
+
query_attribute(name)
|
316
|
+
end
|
312
317
|
else
|
313
318
|
# keep this module dead simple
|
314
319
|
# Mongoid uses changed_attributes to calculate keys to update
|
@@ -348,10 +353,10 @@ module Lockbox
|
|
348
353
|
send("reset_#{encrypted_attribute}_to_default!")
|
349
354
|
send(name)
|
350
355
|
end
|
351
|
-
end
|
352
356
|
|
353
|
-
|
354
|
-
|
357
|
+
define_method("#{name}?") do
|
358
|
+
send("#{encrypted_attribute}?")
|
359
|
+
end
|
355
360
|
end
|
356
361
|
|
357
362
|
define_method("#{name}=") do |message|
|
data/lib/lockbox/version.rb
CHANGED
data/lib/lockbox.rb
CHANGED
@@ -28,7 +28,7 @@ end
|
|
28
28
|
if defined?(ActiveSupport.on_load)
|
29
29
|
ActiveSupport.on_load(:active_record) do
|
30
30
|
# TODO raise error in 0.7.0
|
31
|
-
if ActiveRecord::VERSION::STRING.to_f
|
31
|
+
if ActiveRecord::VERSION::STRING.to_f < 5.0
|
32
32
|
warn "Active Record version (#{ActiveRecord::VERSION::STRING}) not supported in this version of Lockbox (#{Lockbox::VERSION})"
|
33
33
|
end
|
34
34
|
|
@@ -36,7 +36,7 @@ if defined?(ActiveSupport.on_load)
|
|
36
36
|
extend Lockbox::Model::Attached
|
37
37
|
# alias_method is private in Ruby < 2.5
|
38
38
|
singleton_class.send(:alias_method, :encrypts, :lockbox_encrypts) if ActiveRecord::VERSION::MAJOR < 7
|
39
|
-
ActiveRecord::
|
39
|
+
ActiveRecord::Relation.prepend Lockbox::Calculations
|
40
40
|
end
|
41
41
|
|
42
42
|
ActiveSupport.on_load(:mongoid) do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lockbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email: andrew@ankane.org
|
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
|
-
rubygems_version: 3.
|
61
|
+
rubygems_version: 3.3.3
|
62
62
|
signing_key:
|
63
63
|
specification_version: 4
|
64
64
|
summary: Modern encryption for Ruby and Rails
|