paper_trail 11.0.0 → 12.2.0
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/LICENSE +20 -0
 - data/lib/generators/paper_trail/install/install_generator.rb +6 -4
 - data/lib/generators/paper_trail/install/templates/create_versions.rb.erb +3 -1
 - data/lib/generators/paper_trail/update_item_subtype/update_item_subtype_generator.rb +4 -2
 - data/lib/paper_trail/attribute_serializers/attribute_serializer_factory.rb +24 -10
 - data/lib/paper_trail/attribute_serializers/cast_attribute_serializer.rb +10 -10
 - data/lib/paper_trail/compatibility.rb +2 -2
 - data/lib/paper_trail/errors.rb +33 -0
 - data/lib/paper_trail/events/base.rb +60 -63
 - data/lib/paper_trail/events/destroy.rb +1 -1
 - data/lib/paper_trail/events/update.rb +9 -4
 - data/lib/paper_trail/frameworks/active_record.rb +9 -2
 - data/lib/paper_trail/frameworks/rails/controller.rb +0 -6
 - data/lib/paper_trail/frameworks/rails/railtie.rb +30 -0
 - data/lib/paper_trail/frameworks/rails.rb +1 -2
 - data/lib/paper_trail/has_paper_trail.rb +1 -1
 - data/lib/paper_trail/model_config.rb +51 -43
 - data/lib/paper_trail/queries/versions/where_attribute_changes.rb +50 -0
 - data/lib/paper_trail/queries/versions/where_object.rb +1 -1
 - data/lib/paper_trail/queries/versions/where_object_changes.rb +8 -13
 - data/lib/paper_trail/queries/versions/where_object_changes_from.rb +57 -0
 - data/lib/paper_trail/queries/versions/where_object_changes_to.rb +57 -0
 - data/lib/paper_trail/record_trail.rb +3 -5
 - data/lib/paper_trail/reifier.rb +27 -10
 - data/lib/paper_trail/request.rb +0 -3
 - data/lib/paper_trail/serializers/json.rb +0 -10
 - data/lib/paper_trail/serializers/yaml.rb +1 -13
 - data/lib/paper_trail/type_serializers/postgres_array_serializer.rb +1 -14
 - data/lib/paper_trail/version_concern.rb +64 -21
 - data/lib/paper_trail/version_number.rb +2 -2
 - data/lib/paper_trail.rb +17 -40
 - metadata +102 -33
 - data/lib/paper_trail/frameworks/rails/engine.rb +0 -45
 
| 
         @@ -1,8 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            require "paper_trail/attribute_serializers/object_changes_attribute"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require "paper_trail/queries/versions/where_attribute_changes"
         
     | 
| 
       4 
5 
     | 
    
         
             
            require "paper_trail/queries/versions/where_object"
         
     | 
| 
       5 
6 
     | 
    
         
             
            require "paper_trail/queries/versions/where_object_changes"
         
     | 
| 
      
 7 
     | 
    
         
            +
            require "paper_trail/queries/versions/where_object_changes_from"
         
     | 
| 
      
 8 
     | 
    
         
            +
            require "paper_trail/queries/versions/where_object_changes_to"
         
     | 
| 
       6 
9 
     | 
    
         | 
| 
       7 
10 
     | 
    
         
             
            module PaperTrail
         
     | 
| 
       8 
11 
     | 
    
         
             
              # Originally, PaperTrail did not provide this module, and all of this
         
     | 
| 
         @@ -13,22 +16,13 @@ module PaperTrail 
     | 
|
| 
       13 
16 
     | 
    
         
             
                extend ::ActiveSupport::Concern
         
     | 
| 
       14 
17 
     | 
    
         | 
| 
       15 
18 
     | 
    
         
             
                included do
         
     | 
| 
       16 
     | 
    
         
            -
                   
     | 
| 
       17 
     | 
    
         
            -
                    belongs_to :item, polymorphic: true, optional: true
         
     | 
| 
       18 
     | 
    
         
            -
                  else
         
     | 
| 
       19 
     | 
    
         
            -
                    belongs_to :item, polymorphic: true
         
     | 
| 
       20 
     | 
    
         
            -
                  end
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
                  belongs_to :item, polymorphic: true, optional: true, inverse_of: false
         
     | 
| 
       22 
20 
     | 
    
         
             
                  validates_presence_of :event
         
     | 
| 
       23 
21 
     | 
    
         
             
                  after_create :enforce_version_limit!
         
     | 
| 
       24 
22 
     | 
    
         
             
                end
         
     | 
| 
       25 
23 
     | 
    
         | 
| 
       26 
24 
     | 
    
         
             
                # :nodoc:
         
     | 
| 
       27 
25 
     | 
    
         
             
                module ClassMethods
         
     | 
| 
       28 
     | 
    
         
            -
                  def item_subtype_column_present?
         
     | 
| 
       29 
     | 
    
         
            -
                    column_names.include?("item_subtype")
         
     | 
| 
       30 
     | 
    
         
            -
                  end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
26 
     | 
    
         
             
                  def with_item_keys(item_type, item_id)
         
     | 
| 
       33 
27 
     | 
    
         
             
                    where item_type: item_type, item_id: item_id
         
     | 
| 
       34 
28 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -46,7 +40,7 @@ module PaperTrail 
     | 
|
| 
       46 
40 
     | 
    
         
             
                  end
         
     | 
| 
       47 
41 
     | 
    
         | 
| 
       48 
42 
     | 
    
         
             
                  def not_creates
         
     | 
| 
       49 
     | 
    
         
            -
                    where 
     | 
| 
      
 43 
     | 
    
         
            +
                    where.not(event: "create")
         
     | 
| 
       50 
44 
     | 
    
         
             
                  end
         
     | 
| 
       51 
45 
     | 
    
         | 
| 
       52 
46 
     | 
    
         
             
                  def between(start_time, end_time)
         
     | 
| 
         @@ -64,6 +58,18 @@ module PaperTrail 
     | 
|
| 
       64 
58 
     | 
    
         
             
                    end
         
     | 
| 
       65 
59 
     | 
    
         
             
                  end
         
     | 
| 
       66 
60 
     | 
    
         | 
| 
      
 61 
     | 
    
         
            +
                  # Given an attribute like `"name"`, query the `versions.object_changes`
         
     | 
| 
      
 62 
     | 
    
         
            +
                  # column for any changes that modified the provided attribute.
         
     | 
| 
      
 63 
     | 
    
         
            +
                  #
         
     | 
| 
      
 64 
     | 
    
         
            +
                  # @api public
         
     | 
| 
      
 65 
     | 
    
         
            +
                  def where_attribute_changes(attribute)
         
     | 
| 
      
 66 
     | 
    
         
            +
                    unless attribute.is_a?(String) || attribute.is_a?(Symbol)
         
     | 
| 
      
 67 
     | 
    
         
            +
                      raise ArgumentError, "expected to receive a String or Symbol"
         
     | 
| 
      
 68 
     | 
    
         
            +
                    end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                    Queries::Versions::WhereAttributeChanges.new(self, attribute).execute
         
     | 
| 
      
 71 
     | 
    
         
            +
                  end
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
       67 
73 
     | 
    
         
             
                  # Given a hash of attributes like `name: 'Joan'`, query the
         
     | 
| 
       68 
74 
     | 
    
         
             
                  # `versions.objects` column.
         
     | 
| 
       69 
75 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -120,6 +126,36 @@ module PaperTrail 
     | 
|
| 
       120 
126 
     | 
    
         
             
                    Queries::Versions::WhereObjectChanges.new(self, args).execute
         
     | 
| 
       121 
127 
     | 
    
         
             
                  end
         
     | 
| 
       122 
128 
     | 
    
         | 
| 
      
 129 
     | 
    
         
            +
                  # Given a hash of attributes like `name: 'Joan'`, query the
         
     | 
| 
      
 130 
     | 
    
         
            +
                  # `versions.objects_changes` column for changes where the version changed
         
     | 
| 
      
 131 
     | 
    
         
            +
                  # from the hash of attributes to other values.
         
     | 
| 
      
 132 
     | 
    
         
            +
                  #
         
     | 
| 
      
 133 
     | 
    
         
            +
                  # This is useful for finding versions where the attribute started with a
         
     | 
| 
      
 134 
     | 
    
         
            +
                  # known value and changed to something else. This is in comparison to
         
     | 
| 
      
 135 
     | 
    
         
            +
                  # `where_object_changes` which will find both the changes before and
         
     | 
| 
      
 136 
     | 
    
         
            +
                  # after.
         
     | 
| 
      
 137 
     | 
    
         
            +
                  #
         
     | 
| 
      
 138 
     | 
    
         
            +
                  # @api public
         
     | 
| 
      
 139 
     | 
    
         
            +
                  def where_object_changes_from(args = {})
         
     | 
| 
      
 140 
     | 
    
         
            +
                    raise ArgumentError, "expected to receive a Hash" unless args.is_a?(Hash)
         
     | 
| 
      
 141 
     | 
    
         
            +
                    Queries::Versions::WhereObjectChangesFrom.new(self, args).execute
         
     | 
| 
      
 142 
     | 
    
         
            +
                  end
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
                  # Given a hash of attributes like `name: 'Joan'`, query the
         
     | 
| 
      
 145 
     | 
    
         
            +
                  # `versions.objects_changes` column for changes where the version changed
         
     | 
| 
      
 146 
     | 
    
         
            +
                  # to the hash of attributes from other values.
         
     | 
| 
      
 147 
     | 
    
         
            +
                  #
         
     | 
| 
      
 148 
     | 
    
         
            +
                  # This is useful for finding versions where the attribute started with an
         
     | 
| 
      
 149 
     | 
    
         
            +
                  # unknown value and changed to a known value. This is in comparison to
         
     | 
| 
      
 150 
     | 
    
         
            +
                  # `where_object_changes` which will find both the changes before and
         
     | 
| 
      
 151 
     | 
    
         
            +
                  # after.
         
     | 
| 
      
 152 
     | 
    
         
            +
                  #
         
     | 
| 
      
 153 
     | 
    
         
            +
                  # @api public
         
     | 
| 
      
 154 
     | 
    
         
            +
                  def where_object_changes_to(args = {})
         
     | 
| 
      
 155 
     | 
    
         
            +
                    raise ArgumentError, "expected to receive a Hash" unless args.is_a?(Hash)
         
     | 
| 
      
 156 
     | 
    
         
            +
                    Queries::Versions::WhereObjectChangesTo.new(self, args).execute
         
     | 
| 
      
 157 
     | 
    
         
            +
                  end
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
       123 
159 
     | 
    
         
             
                  def primary_key_is_int?
         
     | 
| 
       124 
160 
     | 
    
         
             
                    @primary_key_is_int ||= columns_hash[primary_key].type == :integer
         
     | 
| 
       125 
161 
     | 
    
         
             
                  rescue StandardError # TODO: Rescue something more specific
         
     | 
| 
         @@ -226,7 +262,7 @@ module PaperTrail 
     | 
|
| 
       226 
262 
     | 
    
         
             
                #
         
     | 
| 
       227 
263 
     | 
    
         
             
                def reify(options = {})
         
     | 
| 
       228 
264 
     | 
    
         
             
                  unless self.class.column_names.include? "object"
         
     | 
| 
       229 
     | 
    
         
            -
                    raise "reify  
     | 
| 
      
 265 
     | 
    
         
            +
                    raise Error, "reify requires an object column"
         
     | 
| 
       230 
266 
     | 
    
         
             
                  end
         
     | 
| 
       231 
267 
     | 
    
         
             
                  return nil if object.nil?
         
     | 
| 
       232 
268 
     | 
    
         
             
                  ::PaperTrail::Reifier.reify(self, options)
         
     | 
| 
         @@ -273,7 +309,7 @@ module PaperTrail 
     | 
|
| 
       273 
309 
     | 
    
         | 
| 
       274 
310 
     | 
    
         
             
                # @api private
         
     | 
| 
       275 
311 
     | 
    
         
             
                def load_changeset
         
     | 
| 
       276 
     | 
    
         
            -
                  if PaperTrail.config.object_changes_adapter 
     | 
| 
      
 312 
     | 
    
         
            +
                  if PaperTrail.config.object_changes_adapter.respond_to?(:load_changeset)
         
     | 
| 
       277 
313 
     | 
    
         
             
                    return PaperTrail.config.object_changes_adapter.load_changeset(self)
         
     | 
| 
       278 
314 
     | 
    
         
             
                  end
         
     | 
| 
       279 
315 
     | 
    
         | 
| 
         @@ -339,16 +375,23 @@ module PaperTrail 
     | 
|
| 
       339 
375 
     | 
    
         
             
                # The version limit can be global or per-model.
         
     | 
| 
       340 
376 
     | 
    
         
             
                #
         
     | 
| 
       341 
377 
     | 
    
         
             
                # @api private
         
     | 
| 
       342 
     | 
    
         
            -
                #
         
     | 
| 
       343 
     | 
    
         
            -
                # TODO: Duplication: similar `constantize` in Reifier#version_reification_class
         
     | 
| 
       344 
378 
     | 
    
         
             
                def version_limit
         
     | 
| 
       345 
     | 
    
         
            -
                   
     | 
| 
       346 
     | 
    
         
            -
             
     | 
| 
       347 
     | 
    
         
            -
                     
     | 
| 
       348 
     | 
    
         
            -
             
     | 
| 
       349 
     | 
    
         
            -
                     
     | 
| 
      
 379 
     | 
    
         
            +
                  klass = item.class
         
     | 
| 
      
 380 
     | 
    
         
            +
                  if limit_option?(klass)
         
     | 
| 
      
 381 
     | 
    
         
            +
                    klass.paper_trail_options[:limit]
         
     | 
| 
      
 382 
     | 
    
         
            +
                  elsif base_class_limit_option?(klass)
         
     | 
| 
      
 383 
     | 
    
         
            +
                    klass.base_class.paper_trail_options[:limit]
         
     | 
| 
      
 384 
     | 
    
         
            +
                  else
         
     | 
| 
      
 385 
     | 
    
         
            +
                    PaperTrail.config.version_limit
         
     | 
| 
       350 
386 
     | 
    
         
             
                  end
         
     | 
| 
       351 
     | 
    
         
            -
             
     | 
| 
      
 387 
     | 
    
         
            +
                end
         
     | 
| 
      
 388 
     | 
    
         
            +
             
     | 
| 
      
 389 
     | 
    
         
            +
                def limit_option?(klass)
         
     | 
| 
      
 390 
     | 
    
         
            +
                  klass.respond_to?(:paper_trail_options) && klass.paper_trail_options.key?(:limit)
         
     | 
| 
      
 391 
     | 
    
         
            +
                end
         
     | 
| 
      
 392 
     | 
    
         
            +
             
     | 
| 
      
 393 
     | 
    
         
            +
                def base_class_limit_option?(klass)
         
     | 
| 
      
 394 
     | 
    
         
            +
                  klass.respond_to?(:base_class) && limit_option?(klass.base_class)
         
     | 
| 
       352 
395 
     | 
    
         
             
                end
         
     | 
| 
       353 
396 
     | 
    
         
             
              end
         
     | 
| 
       354 
397 
     | 
    
         
             
            end
         
     | 
| 
         @@ -7,8 +7,8 @@ module PaperTrail 
     | 
|
| 
       7 
7 
     | 
    
         
             
              # because of this confusion, but it's not worth the breaking change.
         
     | 
| 
       8 
8 
     | 
    
         
             
              # People are encouraged to use `PaperTrail.gem_version` instead.
         
     | 
| 
       9 
9 
     | 
    
         
             
              module VERSION
         
     | 
| 
       10 
     | 
    
         
            -
                MAJOR =  
     | 
| 
       11 
     | 
    
         
            -
                MINOR =  
     | 
| 
      
 10 
     | 
    
         
            +
                MAJOR = 12
         
     | 
| 
      
 11 
     | 
    
         
            +
                MINOR = 2
         
     | 
| 
       12 
12 
     | 
    
         
             
                TINY = 0
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                # Set PRE to nil unless it's a pre-release (beta, rc, etc.)
         
     | 
    
        data/lib/paper_trail.rb
    CHANGED
    
    | 
         @@ -8,40 +8,26 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
            # can revisit this decision.
         
     | 
| 
       9 
9 
     | 
    
         
             
            require "active_support/all"
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            # all of those files, but it seems easier to troubleshoot if we just make sure
         
     | 
| 
       13 
     | 
    
         
            -
            # AR is loaded here before loading *any* of PT. See discussion of
         
     | 
| 
       14 
     | 
    
         
            -
            # performance/simplicity tradeoff for activesupport above.
         
     | 
| 
       15 
     | 
    
         
            -
            require "active_record"
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            require "request_store"
         
     | 
| 
      
 11 
     | 
    
         
            +
            require "paper_trail/errors"
         
     | 
| 
       18 
12 
     | 
    
         
             
            require "paper_trail/cleaner"
         
     | 
| 
       19 
13 
     | 
    
         
             
            require "paper_trail/compatibility"
         
     | 
| 
       20 
14 
     | 
    
         
             
            require "paper_trail/config"
         
     | 
| 
       21 
     | 
    
         
            -
            require "paper_trail/has_paper_trail"
         
     | 
| 
       22 
15 
     | 
    
         
             
            require "paper_trail/record_history"
         
     | 
| 
       23 
     | 
    
         
            -
            require "paper_trail/reifier"
         
     | 
| 
       24 
16 
     | 
    
         
             
            require "paper_trail/request"
         
     | 
| 
       25 
     | 
    
         
            -
            require "paper_trail/version_concern"
         
     | 
| 
       26 
17 
     | 
    
         
             
            require "paper_trail/version_number"
         
     | 
| 
       27 
18 
     | 
    
         
             
            require "paper_trail/serializers/json"
         
     | 
| 
       28 
     | 
    
         
            -
            require "paper_trail/serializers/yaml"
         
     | 
| 
       29 
19 
     | 
    
         | 
| 
       30 
20 
     | 
    
         
             
            # An ActiveRecord extension that tracks changes to your models, for auditing or
         
     | 
| 
       31 
21 
     | 
    
         
             
            # versioning.
         
     | 
| 
       32 
22 
     | 
    
         
             
            module PaperTrail
         
     | 
| 
       33 
     | 
    
         
            -
              E_RAILS_NOT_LOADED = <<-EOS.squish.freeze
         
     | 
| 
       34 
     | 
    
         
            -
                PaperTrail has been loaded too early, before rails is loaded. This can
         
     | 
| 
       35 
     | 
    
         
            -
                happen when another gem defines the ::Rails namespace, then PT is loaded,
         
     | 
| 
       36 
     | 
    
         
            -
                all before rails is loaded. You may want to reorder your Gemfile, or defer
         
     | 
| 
       37 
     | 
    
         
            -
                the loading of PT by using `require: false` and a manual require elsewhere.
         
     | 
| 
       38 
     | 
    
         
            -
              EOS
         
     | 
| 
       39 
23 
     | 
    
         
             
              E_TIMESTAMP_FIELD_CONFIG = <<-EOS.squish.freeze
         
     | 
| 
       40 
24 
     | 
    
         
             
                PaperTrail.timestamp_field= has been removed, without replacement. It is no
         
     | 
| 
       41 
25 
     | 
    
         
             
                longer configurable. The timestamp column in the versions table must now be
         
     | 
| 
       42 
26 
     | 
    
         
             
                named created_at.
         
     | 
| 
       43 
27 
     | 
    
         
             
              EOS
         
     | 
| 
       44 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
              RAILS_GTE_7_0 = ::ActiveRecord.gem_version >= ::Gem::Version.new("7.0.0")
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       45 
31 
     | 
    
         
             
              extend PaperTrail::Cleaner
         
     | 
| 
       46 
32 
     | 
    
         | 
| 
       47 
33 
     | 
    
         
             
              class << self
         
     | 
| 
         @@ -85,7 +71,7 @@ module PaperTrail 
     | 
|
| 
       85 
71 
     | 
    
         
             
                #
         
     | 
| 
       86 
72 
     | 
    
         
             
                # @api public
         
     | 
| 
       87 
73 
     | 
    
         
             
                def request(options = nil, &block)
         
     | 
| 
       88 
     | 
    
         
            -
                  if options.nil? && ! 
     | 
| 
      
 74 
     | 
    
         
            +
                  if options.nil? && !block
         
     | 
| 
       89 
75 
     | 
    
         
             
                    Request
         
     | 
| 
       90 
76 
     | 
    
         
             
                  else
         
     | 
| 
       91 
77 
     | 
    
         
             
                    Request.with(options, &block)
         
     | 
| 
         @@ -95,7 +81,7 @@ module PaperTrail 
     | 
|
| 
       95 
81 
     | 
    
         
             
                # Set the field which records when a version was created.
         
     | 
| 
       96 
82 
     | 
    
         
             
                # @api public
         
     | 
| 
       97 
83 
     | 
    
         
             
                def timestamp_field=(_field_name)
         
     | 
| 
       98 
     | 
    
         
            -
                  raise 
     | 
| 
      
 84 
     | 
    
         
            +
                  raise Error, E_TIMESTAMP_FIELD_CONFIG
         
     | 
| 
       99 
85 
     | 
    
         
             
                end
         
     | 
| 
       100 
86 
     | 
    
         | 
| 
       101 
87 
     | 
    
         
             
                # Set the PaperTrail serializer. This setting affects all threads.
         
     | 
| 
         @@ -126,27 +112,18 @@ module PaperTrail 
     | 
|
| 
       126 
112 
     | 
    
         
             
              end
         
     | 
| 
       127 
113 
     | 
    
         
             
            end
         
     | 
| 
       128 
114 
     | 
    
         | 
| 
       129 
     | 
    
         
            -
            #  
     | 
| 
       130 
     | 
    
         
            -
            #  
     | 
| 
       131 
     | 
    
         
            -
            #  
     | 
| 
       132 
     | 
    
         
            -
            # 
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
       135 
     | 
    
         
            -
             
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
            # 
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
             
     | 
| 
       140 
     | 
    
         
            -
               
     | 
| 
       141 
     | 
    
         
            -
              if defined?(::Rails.application)
         
     | 
| 
       142 
     | 
    
         
            -
                require "paper_trail/frameworks/rails"
         
     | 
| 
       143 
     | 
    
         
            -
              else
         
     | 
| 
       144 
     | 
    
         
            -
                ::Kernel.warn(::PaperTrail::E_RAILS_NOT_LOADED)
         
     | 
| 
       145 
     | 
    
         
            -
              end
         
     | 
| 
      
 115 
     | 
    
         
            +
            # PT is built on ActiveRecord, but does not require Rails. If Rails is defined,
         
     | 
| 
      
 116 
     | 
    
         
            +
            # our Railtie makes sure not to load the AR-dependent parts of PT until AR is
         
     | 
| 
      
 117 
     | 
    
         
            +
            # ready. A typical Rails `application.rb` has:
         
     | 
| 
      
 118 
     | 
    
         
            +
            #
         
     | 
| 
      
 119 
     | 
    
         
            +
            # ```
         
     | 
| 
      
 120 
     | 
    
         
            +
            # require 'rails/all' # Defines `Rails`
         
     | 
| 
      
 121 
     | 
    
         
            +
            # Bundler.require(*Rails.groups) # require 'paper_trail' (this file)
         
     | 
| 
      
 122 
     | 
    
         
            +
            # ```
         
     | 
| 
      
 123 
     | 
    
         
            +
            #
         
     | 
| 
      
 124 
     | 
    
         
            +
            # Non-rails applications should take similar care to load AR before PT.
         
     | 
| 
      
 125 
     | 
    
         
            +
            if defined?(Rails)
         
     | 
| 
      
 126 
     | 
    
         
            +
              require "paper_trail/frameworks/rails"
         
     | 
| 
       146 
127 
     | 
    
         
             
            else
         
     | 
| 
       147 
128 
     | 
    
         
             
              require "paper_trail/frameworks/active_record"
         
     | 
| 
       148 
129 
     | 
    
         
             
            end
         
     | 
| 
       149 
     | 
    
         
            -
             
     | 
| 
       150 
     | 
    
         
            -
            if defined?(::ActiveRecord)
         
     | 
| 
       151 
     | 
    
         
            -
              ::PaperTrail::Compatibility.check_activerecord(::ActiveRecord.gem_version)
         
     | 
| 
       152 
     | 
    
         
            -
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: paper_trail
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 12.2.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Andy Stewart
         
     | 
| 
         @@ -10,7 +10,7 @@ authors: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       11 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       12 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
     | 
    
         
            -
            date:  
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2022-01-21 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: activerecord
         
     | 
| 
         @@ -46,42 +46,42 @@ dependencies: 
     | 
|
| 
       46 
46 
     | 
    
         
             
                requirements:
         
     | 
| 
       47 
47 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       48 
48 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       49 
     | 
    
         
            -
                    version:  
     | 
| 
      
 49 
     | 
    
         
            +
                    version: 2.4.1
         
     | 
| 
       50 
50 
     | 
    
         
             
              type: :development
         
     | 
| 
       51 
51 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       52 
52 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       53 
53 
     | 
    
         
             
                requirements:
         
     | 
| 
       54 
54 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       55 
55 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       56 
     | 
    
         
            -
                    version:  
     | 
| 
      
 56 
     | 
    
         
            +
                    version: 2.4.1
         
     | 
| 
       57 
57 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       58 
58 
     | 
    
         
             
              name: byebug
         
     | 
| 
       59 
59 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       60 
60 
     | 
    
         
             
                requirements:
         
     | 
| 
       61 
61 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       62 
62 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       63 
     | 
    
         
            -
                    version: '11. 
     | 
| 
      
 63 
     | 
    
         
            +
                    version: '11.1'
         
     | 
| 
       64 
64 
     | 
    
         
             
              type: :development
         
     | 
| 
       65 
65 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       66 
66 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       67 
67 
     | 
    
         
             
                requirements:
         
     | 
| 
       68 
68 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       69 
69 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       70 
     | 
    
         
            -
                    version: '11. 
     | 
| 
      
 70 
     | 
    
         
            +
                    version: '11.1'
         
     | 
| 
       71 
71 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       72 
72 
     | 
    
         
             
              name: ffaker
         
     | 
| 
       73 
73 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       74 
74 
     | 
    
         
             
                requirements:
         
     | 
| 
       75 
75 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       76 
76 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       77 
     | 
    
         
            -
                    version: '2. 
     | 
| 
      
 77 
     | 
    
         
            +
                    version: '2.20'
         
     | 
| 
       78 
78 
     | 
    
         
             
              type: :development
         
     | 
| 
       79 
79 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       80 
80 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       81 
81 
     | 
    
         
             
                requirements:
         
     | 
| 
       82 
82 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       83 
83 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       84 
     | 
    
         
            -
                    version: '2. 
     | 
| 
      
 84 
     | 
    
         
            +
                    version: '2.20'
         
     | 
| 
       85 
85 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       86 
86 
     | 
    
         
             
              name: generator_spec
         
     | 
| 
       87 
87 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -102,14 +102,28 @@ dependencies: 
     | 
|
| 
       102 
102 
     | 
    
         
             
                requirements:
         
     | 
| 
       103 
103 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       104 
104 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       105 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 105 
     | 
    
         
            +
                    version: 1.0.0
         
     | 
| 
       106 
106 
     | 
    
         
             
              type: :development
         
     | 
| 
       107 
107 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       108 
108 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       109 
109 
     | 
    
         
             
                requirements:
         
     | 
| 
       110 
110 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       111 
111 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       112 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 112 
     | 
    
         
            +
                    version: 1.0.0
         
     | 
| 
      
 113 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 114 
     | 
    
         
            +
              name: rails
         
     | 
| 
      
 115 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 116 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 117 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 118 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 119 
     | 
    
         
            +
                    version: '5.2'
         
     | 
| 
      
 120 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 121 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 122 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 123 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 124 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 125 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 126 
     | 
    
         
            +
                    version: '5.2'
         
     | 
| 
       113 
127 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       114 
128 
     | 
    
         
             
              name: rake
         
     | 
| 
       115 
129 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -130,90 +144,140 @@ dependencies: 
     | 
|
| 
       130 
144 
     | 
    
         
             
                requirements:
         
     | 
| 
       131 
145 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       132 
146 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       133 
     | 
    
         
            -
                    version:  
     | 
| 
      
 147 
     | 
    
         
            +
                    version: 5.0.2
         
     | 
| 
       134 
148 
     | 
    
         
             
              type: :development
         
     | 
| 
       135 
149 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       136 
150 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       137 
151 
     | 
    
         
             
                requirements:
         
     | 
| 
       138 
152 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       139 
153 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       140 
     | 
    
         
            -
                    version:  
     | 
| 
      
 154 
     | 
    
         
            +
                    version: 5.0.2
         
     | 
| 
       141 
155 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       142 
156 
     | 
    
         
             
              name: rubocop
         
     | 
| 
       143 
157 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       144 
158 
     | 
    
         
             
                requirements:
         
     | 
| 
       145 
159 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       146 
160 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       147 
     | 
    
         
            -
                    version:  
     | 
| 
      
 161 
     | 
    
         
            +
                    version: 1.22.2
         
     | 
| 
      
 162 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 163 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 164 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 165 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 166 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 167 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 168 
     | 
    
         
            +
                    version: 1.22.2
         
     | 
| 
      
 169 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 170 
     | 
    
         
            +
              name: rubocop-packaging
         
     | 
| 
      
 171 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 172 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 173 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 174 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 175 
     | 
    
         
            +
                    version: 0.5.1
         
     | 
| 
       148 
176 
     | 
    
         
             
              type: :development
         
     | 
| 
       149 
177 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       150 
178 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       151 
179 
     | 
    
         
             
                requirements:
         
     | 
| 
       152 
180 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       153 
181 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       154 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 182 
     | 
    
         
            +
                    version: 0.5.1
         
     | 
| 
       155 
183 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       156 
184 
     | 
    
         
             
              name: rubocop-performance
         
     | 
| 
       157 
185 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       158 
186 
     | 
    
         
             
                requirements:
         
     | 
| 
       159 
187 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       160 
188 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       161 
     | 
    
         
            -
                    version: 1. 
     | 
| 
      
 189 
     | 
    
         
            +
                    version: 1.11.5
         
     | 
| 
       162 
190 
     | 
    
         
             
              type: :development
         
     | 
| 
       163 
191 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       164 
192 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       165 
193 
     | 
    
         
             
                requirements:
         
     | 
| 
       166 
194 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       167 
195 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       168 
     | 
    
         
            -
                    version: 1. 
     | 
| 
      
 196 
     | 
    
         
            +
                    version: 1.11.5
         
     | 
| 
      
 197 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 198 
     | 
    
         
            +
              name: rubocop-rails
         
     | 
| 
      
 199 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 200 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 201 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 202 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 203 
     | 
    
         
            +
                    version: 2.12.4
         
     | 
| 
      
 204 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 205 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 206 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 207 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 208 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 209 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 210 
     | 
    
         
            +
                    version: 2.12.4
         
     | 
| 
      
 211 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 212 
     | 
    
         
            +
              name: rubocop-rake
         
     | 
| 
      
 213 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 214 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 215 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 216 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 217 
     | 
    
         
            +
                    version: 0.6.0
         
     | 
| 
      
 218 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 219 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 220 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 221 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 222 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 223 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 224 
     | 
    
         
            +
                    version: 0.6.0
         
     | 
| 
       169 
225 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       170 
226 
     | 
    
         
             
              name: rubocop-rspec
         
     | 
| 
       171 
227 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       172 
228 
     | 
    
         
             
                requirements:
         
     | 
| 
       173 
229 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       174 
230 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       175 
     | 
    
         
            -
                    version:  
     | 
| 
      
 231 
     | 
    
         
            +
                    version: 2.5.0
         
     | 
| 
       176 
232 
     | 
    
         
             
              type: :development
         
     | 
| 
       177 
233 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       178 
234 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       179 
235 
     | 
    
         
             
                requirements:
         
     | 
| 
       180 
236 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       181 
237 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       182 
     | 
    
         
            -
                    version:  
     | 
| 
      
 238 
     | 
    
         
            +
                    version: 2.5.0
         
     | 
| 
      
 239 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 240 
     | 
    
         
            +
              name: simplecov
         
     | 
| 
      
 241 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 242 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 243 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 244 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 245 
     | 
    
         
            +
                    version: 0.21.2
         
     | 
| 
      
 246 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 247 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 248 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 249 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 250 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 251 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 252 
     | 
    
         
            +
                    version: 0.21.2
         
     | 
| 
       183 
253 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       184 
254 
     | 
    
         
             
              name: mysql2
         
     | 
| 
       185 
255 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       186 
256 
     | 
    
         
             
                requirements:
         
     | 
| 
       187 
257 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       188 
258 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       189 
     | 
    
         
            -
                    version:  
     | 
| 
      
 259 
     | 
    
         
            +
                    version: 0.5.3
         
     | 
| 
       190 
260 
     | 
    
         
             
              type: :development
         
     | 
| 
       191 
261 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       192 
262 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       193 
263 
     | 
    
         
             
                requirements:
         
     | 
| 
       194 
264 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       195 
265 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       196 
     | 
    
         
            -
                    version:  
     | 
| 
      
 266 
     | 
    
         
            +
                    version: 0.5.3
         
     | 
| 
       197 
267 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       198 
268 
     | 
    
         
             
              name: pg
         
     | 
| 
       199 
269 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       200 
270 
     | 
    
         
             
                requirements:
         
     | 
| 
       201 
     | 
    
         
            -
                - - " 
     | 
| 
       202 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       203 
     | 
    
         
            -
                    version: '0.18'
         
     | 
| 
       204 
     | 
    
         
            -
                - - "<"
         
     | 
| 
      
 271 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       205 
272 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       206 
     | 
    
         
            -
                    version: '2 
     | 
| 
      
 273 
     | 
    
         
            +
                    version: '1.2'
         
     | 
| 
       207 
274 
     | 
    
         
             
              type: :development
         
     | 
| 
       208 
275 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       209 
276 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       210 
277 
     | 
    
         
             
                requirements:
         
     | 
| 
       211 
     | 
    
         
            -
                - - " 
     | 
| 
       212 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       213 
     | 
    
         
            -
                    version: '0.18'
         
     | 
| 
       214 
     | 
    
         
            -
                - - "<"
         
     | 
| 
      
 278 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       215 
279 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       216 
     | 
    
         
            -
                    version: '2 
     | 
| 
      
 280 
     | 
    
         
            +
                    version: '1.2'
         
     | 
| 
       217 
281 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       218 
282 
     | 
    
         
             
              name: sqlite3
         
     | 
| 
       219 
283 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -237,6 +301,7 @@ executables: [] 
     | 
|
| 
       237 
301 
     | 
    
         
             
            extensions: []
         
     | 
| 
       238 
302 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       239 
303 
     | 
    
         
             
            files:
         
     | 
| 
      
 304 
     | 
    
         
            +
            - LICENSE
         
     | 
| 
       240 
305 
     | 
    
         
             
            - lib/generators/paper_trail/install/USAGE
         
     | 
| 
       241 
306 
     | 
    
         
             
            - lib/generators/paper_trail/install/install_generator.rb
         
     | 
| 
       242 
307 
     | 
    
         
             
            - lib/generators/paper_trail/install/templates/add_object_changes_to_versions.rb.erb
         
     | 
| 
         @@ -254,6 +319,7 @@ files: 
     | 
|
| 
       254 
319 
     | 
    
         
             
            - lib/paper_trail/cleaner.rb
         
     | 
| 
       255 
320 
     | 
    
         
             
            - lib/paper_trail/compatibility.rb
         
     | 
| 
       256 
321 
     | 
    
         
             
            - lib/paper_trail/config.rb
         
     | 
| 
      
 322 
     | 
    
         
            +
            - lib/paper_trail/errors.rb
         
     | 
| 
       257 
323 
     | 
    
         
             
            - lib/paper_trail/events/base.rb
         
     | 
| 
       258 
324 
     | 
    
         
             
            - lib/paper_trail/events/create.rb
         
     | 
| 
       259 
325 
     | 
    
         
             
            - lib/paper_trail/events/destroy.rb
         
     | 
| 
         @@ -263,13 +329,16 @@ files: 
     | 
|
| 
       263 
329 
     | 
    
         
             
            - lib/paper_trail/frameworks/cucumber.rb
         
     | 
| 
       264 
330 
     | 
    
         
             
            - lib/paper_trail/frameworks/rails.rb
         
     | 
| 
       265 
331 
     | 
    
         
             
            - lib/paper_trail/frameworks/rails/controller.rb
         
     | 
| 
       266 
     | 
    
         
            -
            - lib/paper_trail/frameworks/rails/ 
     | 
| 
      
 332 
     | 
    
         
            +
            - lib/paper_trail/frameworks/rails/railtie.rb
         
     | 
| 
       267 
333 
     | 
    
         
             
            - lib/paper_trail/frameworks/rspec.rb
         
     | 
| 
       268 
334 
     | 
    
         
             
            - lib/paper_trail/frameworks/rspec/helpers.rb
         
     | 
| 
       269 
335 
     | 
    
         
             
            - lib/paper_trail/has_paper_trail.rb
         
     | 
| 
       270 
336 
     | 
    
         
             
            - lib/paper_trail/model_config.rb
         
     | 
| 
      
 337 
     | 
    
         
            +
            - lib/paper_trail/queries/versions/where_attribute_changes.rb
         
     | 
| 
       271 
338 
     | 
    
         
             
            - lib/paper_trail/queries/versions/where_object.rb
         
     | 
| 
       272 
339 
     | 
    
         
             
            - lib/paper_trail/queries/versions/where_object_changes.rb
         
     | 
| 
      
 340 
     | 
    
         
            +
            - lib/paper_trail/queries/versions/where_object_changes_from.rb
         
     | 
| 
      
 341 
     | 
    
         
            +
            - lib/paper_trail/queries/versions/where_object_changes_to.rb
         
     | 
| 
       273 
342 
     | 
    
         
             
            - lib/paper_trail/record_history.rb
         
     | 
| 
       274 
343 
     | 
    
         
             
            - lib/paper_trail/record_trail.rb
         
     | 
| 
       275 
344 
     | 
    
         
             
            - lib/paper_trail/reifier.rb
         
     | 
| 
         @@ -291,14 +360,14 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       291 
360 
     | 
    
         
             
              requirements:
         
     | 
| 
       292 
361 
     | 
    
         
             
              - - ">="
         
     | 
| 
       293 
362 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       294 
     | 
    
         
            -
                  version: 2. 
     | 
| 
      
 363 
     | 
    
         
            +
                  version: 2.6.0
         
     | 
| 
       295 
364 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       296 
365 
     | 
    
         
             
              requirements:
         
     | 
| 
       297 
366 
     | 
    
         
             
              - - ">="
         
     | 
| 
       298 
367 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       299 
368 
     | 
    
         
             
                  version: 1.3.6
         
     | 
| 
       300 
369 
     | 
    
         
             
            requirements: []
         
     | 
| 
       301 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 370 
     | 
    
         
            +
            rubygems_version: 3.2.22
         
     | 
| 
       302 
371 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       303 
372 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       304 
373 
     | 
    
         
             
            summary: Track changes to your models.
         
     | 
| 
         @@ -1,45 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # frozen_string_literal: true
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module PaperTrail
         
     | 
| 
       4 
     | 
    
         
            -
              module Rails
         
     | 
| 
       5 
     | 
    
         
            -
                # See http://guides.rubyonrails.org/engines.html
         
     | 
| 
       6 
     | 
    
         
            -
                class Engine < ::Rails::Engine
         
     | 
| 
       7 
     | 
    
         
            -
                  DPR_CONFIG_ENABLED = <<~EOS.squish.freeze
         
     | 
| 
       8 
     | 
    
         
            -
                    The rails configuration option config.paper_trail.enabled is deprecated.
         
     | 
| 
       9 
     | 
    
         
            -
                    Please use PaperTrail.enabled= instead. People were getting confused
         
     | 
| 
       10 
     | 
    
         
            -
                    that PT has both, specifically regarding *when* each was happening. If
         
     | 
| 
       11 
     | 
    
         
            -
                    you'd like to keep config.paper_trail, join the discussion at
         
     | 
| 
       12 
     | 
    
         
            -
                    https://github.com/paper-trail-gem/paper_trail/pull/1176
         
     | 
| 
       13 
     | 
    
         
            -
                  EOS
         
     | 
| 
       14 
     | 
    
         
            -
                  private_constant :DPR_CONFIG_ENABLED
         
     | 
| 
       15 
     | 
    
         
            -
                  DPR_RUDELY_ENABLING = <<~EOS.squish.freeze
         
     | 
| 
       16 
     | 
    
         
            -
                    At some point early in the rails boot process, you have set
         
     | 
| 
       17 
     | 
    
         
            -
                    PaperTrail.enabled = false. PT's rails engine is now overriding your
         
     | 
| 
       18 
     | 
    
         
            -
                    setting, and setting it to true. We're not sure why, but this is how PT
         
     | 
| 
       19 
     | 
    
         
            -
                    has worked since 5.0, when the config.paper_trail.enabled option was
         
     | 
| 
       20 
     | 
    
         
            -
                    introduced. This is now deprecated. In the future, PT will not override
         
     | 
| 
       21 
     | 
    
         
            -
                    your setting. See
         
     | 
| 
       22 
     | 
    
         
            -
                    https://github.com/paper-trail-gem/paper_trail/pull/1176 for discussion.
         
     | 
| 
       23 
     | 
    
         
            -
                  EOS
         
     | 
| 
       24 
     | 
    
         
            -
                  private_constant :DPR_RUDELY_ENABLING
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                  paths["app/models"] << "lib/paper_trail/frameworks/active_record/models"
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                  # --- Begin deprecated section ---
         
     | 
| 
       29 
     | 
    
         
            -
                  config.paper_trail = ActiveSupport::OrderedOptions.new
         
     | 
| 
       30 
     | 
    
         
            -
                  initializer "paper_trail.initialisation" do |app|
         
     | 
| 
       31 
     | 
    
         
            -
                    enable = app.config.paper_trail[:enabled]
         
     | 
| 
       32 
     | 
    
         
            -
                    if enable.nil?
         
     | 
| 
       33 
     | 
    
         
            -
                      unless PaperTrail.enabled?
         
     | 
| 
       34 
     | 
    
         
            -
                        ::ActiveSupport::Deprecation.warn(DPR_RUDELY_ENABLING)
         
     | 
| 
       35 
     | 
    
         
            -
                        PaperTrail.enabled = true
         
     | 
| 
       36 
     | 
    
         
            -
                      end
         
     | 
| 
       37 
     | 
    
         
            -
                    else
         
     | 
| 
       38 
     | 
    
         
            -
                      ::ActiveSupport::Deprecation.warn(DPR_CONFIG_ENABLED)
         
     | 
| 
       39 
     | 
    
         
            -
                      PaperTrail.enabled = enable
         
     | 
| 
       40 
     | 
    
         
            -
                    end
         
     | 
| 
       41 
     | 
    
         
            -
                  end
         
     | 
| 
       42 
     | 
    
         
            -
                  # --- End deprecated section ---
         
     | 
| 
       43 
     | 
    
         
            -
                end
         
     | 
| 
       44 
     | 
    
         
            -
              end
         
     | 
| 
       45 
     | 
    
         
            -
            end
         
     |