lockbox 0.6.6 → 0.6.7
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 +6 -0
- data/LICENSE.txt +1 -1
- data/README.md +10 -2
- data/lib/lockbox/model.rb +10 -0
- data/lib/lockbox/version.rb +1 -1
- data/lib/lockbox.rb +1 -1
- 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: 2b85dd2a91e0fbb6e687dc63a36915c3b67552320f417fe4caed9f27c5b8fbfc
         | 
| 4 | 
            +
              data.tar.gz: 807037af47e0ee9fae9ed93d95ad0253b68bd6c6ab13ee53ce2cc8de0536e926
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 429401bd5b38388d43a07bfbc8cbe4acdac73718e05c5043276092ac0d992f439721beeb2d36320a84b69cd24687838edd9a59f28a39ac7f7797502911bd708a
         | 
| 7 | 
            +
              data.tar.gz: 412a3eacac1489f931ea1cae22f628fe73eeb9a1d01b568c385f37ede3281f657235ed16b831c2c9c46348d23bb1e6d62a4e5ea857a2e619d0087f4e4e4b89ce
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,8 @@ | |
| 1 | 
            +
            ## 0.6.7 (2022-01-25)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            - Added warning for attributes with `default` option
         | 
| 4 | 
            +
            - Removing warning for Active Record 5.0 (still supported)
         | 
| 5 | 
            +
             | 
| 1 6 | 
             
            ## 0.6.6 (2021-09-27)
         | 
| 2 7 |  | 
| 3 8 | 
             
            - Fixed `attribute?` method for `boolean` and `integer` types
         | 
| @@ -25,6 +30,7 @@ | |
| 25 30 | 
             
            ## 0.6.1 (2020-12-03)
         | 
| 26 31 |  | 
| 27 32 | 
             
            - Added integration with Rails credentials
         | 
| 33 | 
            +
            - Added warning for unsupported versions of Active Record
         | 
| 28 34 | 
             
            - Fixed in place changes for Active Record 6.1
         | 
| 29 35 | 
             
            - Fixed error with `content_type` method for CarrierWave < 2
         | 
| 30 36 |  | 
    
        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
    
    | @@ -314,6 +314,16 @@ module Lockbox | |
| 314 314 | 
             
                          # uses public_send, so we don't need to preload attribute
         | 
| 315 315 | 
             
                          query_attribute(name)
         | 
| 316 316 | 
             
                        end
         | 
| 317 | 
            +
             | 
| 318 | 
            +
                        user_provided_default =
         | 
| 319 | 
            +
                          if ActiveRecord::VERSION::STRING >= "5.2"
         | 
| 320 | 
            +
                            ActiveModel::Attribute::UserProvidedDefault
         | 
| 321 | 
            +
                          else
         | 
| 322 | 
            +
                            ActiveRecord::Attribute::UserProvidedDefault
         | 
| 323 | 
            +
                          end
         | 
| 324 | 
            +
                        if _default_attributes[name.to_s].is_a?(user_provided_default)
         | 
| 325 | 
            +
                          warn "[lockbox] WARNING: attributes with `:default` option are not supported. Use `after_initialize` instead."
         | 
| 326 | 
            +
                        end
         | 
| 317 327 | 
             
                      else
         | 
| 318 328 | 
             
                        # keep this module dead simple
         | 
| 319 329 | 
             
                        # Mongoid uses changed_attributes to calculate keys to update
         | 
    
        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 |  | 
    
        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.7
         | 
| 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-25 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
         |