lockbox 0.6.4 → 0.6.8
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/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
|