paper_trail 3.0.8 → 3.0.9
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 +13 -5
- data/README.md +9 -9
- data/lib/paper_trail/has_paper_trail.rb +10 -3
- data/lib/paper_trail/version_concern.rb +6 -1
- data/lib/paper_trail/version_number.rb +1 -1
- data/spec/models/version_spec.rb +49 -2
- data/spec/models/widget_spec.rb +29 -8
- data/test/unit/model_test.rb +7 -7
- metadata +42 -62
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -26
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/javascripts/application.js +0 -2
- data/test/dummy/public/javascripts/controls.js +0 -965
- data/test/dummy/public/javascripts/dragdrop.js +0 -974
- data/test/dummy/public/javascripts/effects.js +0 -1123
- data/test/dummy/public/javascripts/rails.js +0 -175
- data/test/dummy/public/stylesheets/.gitkeep +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: de205e84196241d1165f38050f43114114b47cca
         | 
| 4 | 
            +
              data.tar.gz: 2401292c3098d9050260528490556294f8034a6d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 89b14153e1f66e8e043532c78a6cda7033e2aa902c9d191fddc29ece1a4036c9808c26e345ca3360d4c70f6d1193eac14eb5884025a45750361419e290217d2f
         | 
| 7 | 
            +
              data.tar.gz: 531199dd212d76562c9baed8033fd3ca765b5458b19c3b8029e89c8cd3f7a44202cdcb5efd3ad979022c5e4386e47e042fab2617470134a52d3ee6b328779f65
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,14 @@ | |
| 1 | 
            +
            ## 3.0.9
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              - [#479](https://github.com/airblade/paper_trail/issues/479) - Deprecated `originator` method in favor of
         | 
| 4 | 
            +
                `paper_trail_originator` Deprecation warning informs users that the `originator` of the methods will be
         | 
| 5 | 
            +
                removed in version `4.0`. (Backported from v4)
         | 
| 6 | 
            +
              - Updated deprecation warnings for `Model.paper_trail_on` and `Model.paper_trail_off` to have display correct
         | 
| 7 | 
            +
                version number the methods will be removed (`4.0`)
         | 
| 8 | 
            +
             | 
| 1 9 | 
             
            ## 3.0.8
         | 
| 2 10 |  | 
| 3 | 
            -
              - [#525](https://github.com/airblade/paper_trail/ | 
| 11 | 
            +
              - [#525](https://github.com/airblade/paper_trail/issues/525) / [#512](https://github.com/airblade/paper_trail/pull/512) -
         | 
| 4 12 | 
             
                Support for virtual accessors and redefined setter and getter methods. (Backported from v4)
         | 
| 5 13 |  | 
| 6 14 | 
             
            ## 3.0.7
         | 
| @@ -18,7 +26,7 @@ | |
| 18 26 |  | 
| 19 27 | 
             
              - [#401](https://github.com/airblade/paper_trail/issues/401) / [#406](https://github.com/airblade/paper_trail/issues/406) -
         | 
| 20 28 | 
             
                `PaperTrail::Version` class is not loaded via a `Rails::Engine`, even when the gem is used with in Rails. This feature has
         | 
| 21 | 
            -
                will be re-introduced in version ` | 
| 29 | 
            +
                will be re-introduced in version `4.0`.
         | 
| 22 30 | 
             
              - [#398](https://github.com/airblade/paper_trail/pull/398) - Only require the `RSpec` helper if `RSpec::Core` is required.
         | 
| 23 31 |  | 
| 24 32 | 
             
            ## 3.0.3
         | 
| @@ -63,7 +71,7 @@ in the `PaperTrail::Version` class through a `Rails::Engine` when the gem is use | |
| 63 71 | 
             
                with Rails `4.1.0.rc1`.
         | 
| 64 72 | 
             
              - [#334](https://github.com/airblade/paper_trail/pull/334) - Add small-scope `whodunnit` method to `PaperTrail::Model::InstanceMethods`.
         | 
| 65 73 | 
             
              - [#329](https://github.com/airblade/paper_trail/issues/329) - Add `touch_with_version` method to `PaperTrail::Model::InstanceMethods`,
         | 
| 66 | 
            -
                to allow for generating a version `touch`ing a model.
         | 
| 74 | 
            +
                to allow for generating a version while `touch`ing a model.
         | 
| 67 75 | 
             
              - [#328](https://github.com/airblade/paper_trail/pull/328) / [#326](https://github.com/airblade/paper_trail/issues/326) /
         | 
| 68 76 | 
             
                [#307](https://github.com/airblade/paper_trail/issues/307) - `Model.paper_trail_enabled_for_model?` and
         | 
| 69 77 | 
             
                `model_instance.without_versioning` is now thread-safe.
         | 
| @@ -74,8 +82,8 @@ in the `PaperTrail::Version` class through a `Rails::Engine` when the gem is use | |
| 74 82 | 
             
              - [#312](https://github.com/airblade/paper_trail/issues/312) - Fix RSpec `with_versioning` class level helper method.
         | 
| 75 83 | 
             
              - `model_instance.without_versioning` now yields the `model_instance`, enabling syntax like this:
         | 
| 76 84 | 
             
                `model_instance.without_versioning { |obj| obj.update_attributes(:name => 'value') }`.
         | 
| 77 | 
            -
              - Deprecated `Model.paper_trail_on` and `Model.paper_trail_off` in favor of bang versions of the methods. | 
| 78 | 
            -
                informs users that the non-bang versions of the methods will be removed in version ` | 
| 85 | 
            +
              - Deprecated `Model.paper_trail_on` and `Model.paper_trail_off` in favor of bang versions of the methods.
         | 
| 86 | 
            +
                Deprecation warning informs users that the non-bang versions of the methods will be removed in version `4.0`
         | 
| 79 87 |  | 
| 80 88 | 
             
            ## 3.0.0
         | 
| 81 89 |  | 
    
        data/README.md
    CHANGED
    
    | @@ -42,7 +42,7 @@ The Rails 2.3 code is on the [`rails2`](https://github.com/airblade/paper_trail/ | |
| 42 42 |  | 
| 43 43 | 
             
            1. Add PaperTrail to your `Gemfile`.
         | 
| 44 44 |  | 
| 45 | 
            -
                `gem 'paper_trail', '~> 3.0. | 
| 45 | 
            +
                `gem 'paper_trail', '~> 3.0.9'`
         | 
| 46 46 |  | 
| 47 47 | 
             
            2. Generate a migration which will add a `versions` table to your database.
         | 
| 48 48 |  | 
| @@ -64,7 +64,7 @@ your applications `ActiveRecord` connection in a manner similar to the way `Rail | |
| 64 64 |  | 
| 65 65 | 
             
            1. Add PaperTrail to your `Gemfile`.
         | 
| 66 66 |  | 
| 67 | 
            -
                `gem 'paper_trail', '~> 3.0. | 
| 67 | 
            +
                `gem 'paper_trail', '~> 3.0.9'`
         | 
| 68 68 |  | 
| 69 69 | 
             
            2. Generate a migration to add a `versions` table to your database.
         | 
| 70 70 |  | 
| @@ -115,7 +115,7 @@ widget.version | |
| 115 115 | 
             
            widget.live?
         | 
| 116 116 |  | 
| 117 117 | 
             
            # Returns who put the widget into its current state.
         | 
| 118 | 
            -
            widget. | 
| 118 | 
            +
            widget.paper_trail_originator
         | 
| 119 119 |  | 
| 120 120 | 
             
            # Returns the widget (not a version) as it looked at the given timestamp.
         | 
| 121 121 | 
             
            widget.version_at(timestamp)
         | 
| @@ -147,7 +147,7 @@ And a `PaperTrail::Version` instance has these methods: | |
| 147 147 | 
             
            version.reify(options = {})
         | 
| 148 148 |  | 
| 149 149 | 
             
            # Returns who put the item into the state stored in this version.
         | 
| 150 | 
            -
            version. | 
| 150 | 
            +
            version.paper_trail_originator
         | 
| 151 151 |  | 
| 152 152 | 
             
            # Returns who changed the item from the state it had in this version.
         | 
| 153 153 | 
             
            version.terminator
         | 
| @@ -504,22 +504,22 @@ Sometimes you want to define who is responsible for a change in a small scope wi | |
| 504 504 |  | 
| 505 505 | 
             
            A version's `whodunnit` records who changed the object causing the `version` to be stored.  Because a version stores the object as it looked before the change (see the table above), `whodunnit` returns who stopped the object looking like this -- not who made it look like this.  Hence `whodunnit` is aliased as `terminator`.
         | 
| 506 506 |  | 
| 507 | 
            -
            To find out who made a version's object look that way, use `version. | 
| 507 | 
            +
            To find out who made a version's object look that way, use `version.paper_trail_originator`.  And to find out who made a "live" object look like it does, call `paper_trail_originator` on the object.
         | 
| 508 508 |  | 
| 509 509 | 
             
            ```ruby
         | 
| 510 510 | 
             
            >> widget = Widget.find 153                    # assume widget has 0 versions
         | 
| 511 511 | 
             
            >> PaperTrail.whodunnit = 'Alice'
         | 
| 512 512 | 
             
            >> widget.update_attributes :name => 'Yankee'
         | 
| 513 | 
            -
            >> widget | 
| 513 | 
            +
            >> widget..paper_trail_originator              # 'Alice'
         | 
| 514 514 | 
             
            >> PaperTrail.whodunnit = 'Bob'
         | 
| 515 515 | 
             
            >> widget.update_attributes :name => 'Zulu'
         | 
| 516 | 
            -
            >> widget. | 
| 516 | 
            +
            >> widget.paper_trail_originator               # 'Bob'
         | 
| 517 517 | 
             
            >> first_version, last_version = widget.versions.first, widget.versions.last
         | 
| 518 518 | 
             
            >> first_version.whodunnit                     # 'Alice'
         | 
| 519 | 
            -
            >> first_version. | 
| 519 | 
            +
            >> first_version.paper_trail_originator        # nil
         | 
| 520 520 | 
             
            >> first_version.terminator                    # 'Alice'
         | 
| 521 521 | 
             
            >> last_version.whodunnit                      # 'Bob'
         | 
| 522 | 
            -
            >> last_version. | 
| 522 | 
            +
            >> last_version.paper_trail_originator         # 'Alice'
         | 
| 523 523 | 
             
            >> last_version.terminator                     # 'Bob'
         | 
| 524 524 | 
             
            ```
         | 
| 525 525 |  | 
| @@ -1,3 +1,5 @@ | |
| 1 | 
            +
            require 'active_support/core_ext/object' # provides the `try` method
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module PaperTrail
         | 
| 2 4 | 
             
              module Model
         | 
| 3 5 |  | 
| @@ -86,7 +88,7 @@ module PaperTrail | |
| 86 88 | 
             
                  end
         | 
| 87 89 |  | 
| 88 90 | 
             
                  def paper_trail_off
         | 
| 89 | 
            -
                    warn "DEPRECATED: use `paper_trail_off!` instead of `paper_trail_off`. Support for `paper_trail_off` will be removed in PaperTrail  | 
| 91 | 
            +
                    warn "DEPRECATED: use `paper_trail_off!` instead of `paper_trail_off`. Support for `paper_trail_off` will be removed in PaperTrail 4.0"
         | 
| 90 92 | 
             
                    self.paper_trail_off!
         | 
| 91 93 | 
             
                  end
         | 
| 92 94 |  | 
| @@ -96,7 +98,7 @@ module PaperTrail | |
| 96 98 | 
             
                  end
         | 
| 97 99 |  | 
| 98 100 | 
             
                  def paper_trail_on
         | 
| 99 | 
            -
                    warn "DEPRECATED: use `paper_trail_on!` instead of `paper_trail_on`. Support for `paper_trail_on` will be removed in PaperTrail  | 
| 101 | 
            +
                    warn "DEPRECATED: use `paper_trail_on!` instead of `paper_trail_on`. Support for `paper_trail_on` will be removed in PaperTrail 4.0"
         | 
| 100 102 | 
             
                    self.paper_trail_on!
         | 
| 101 103 | 
             
                  end
         | 
| 102 104 |  | 
| @@ -173,10 +175,15 @@ module PaperTrail | |
| 173 175 | 
             
                  end
         | 
| 174 176 |  | 
| 175 177 | 
             
                  # Returns who put the object into its current state.
         | 
| 176 | 
            -
                  def  | 
| 178 | 
            +
                  def paper_trail_originator
         | 
| 177 179 | 
             
                    (source_version || send(self.class.versions_association_name).last).try(:whodunnit)
         | 
| 178 180 | 
             
                  end
         | 
| 179 181 |  | 
| 182 | 
            +
                  def originator
         | 
| 183 | 
            +
                    warn "DEPRECATED: use `paper_trail_originator` instead of `originator`. Support for `originator` will be removed in PaperTrail 4.0"
         | 
| 184 | 
            +
                    self.paper_trail_originator
         | 
| 185 | 
            +
                  end
         | 
| 186 | 
            +
             | 
| 180 187 | 
             
                  # Returns the object (not a Version) as it was at the given timestamp.
         | 
| 181 188 | 
             
                  def version_at(timestamp, reify_options={})
         | 
| 182 189 | 
             
                    # Because a version stores how its object looked *before* the change,
         | 
| @@ -181,8 +181,13 @@ module PaperTrail | |
| 181 181 | 
             
                end
         | 
| 182 182 |  | 
| 183 183 | 
             
                # Returns who put the item into the state stored in this version.
         | 
| 184 | 
            +
                def paper_trail_originator
         | 
| 185 | 
            +
                  @paper_trail_originator ||= previous.whodunnit rescue nil
         | 
| 186 | 
            +
                end
         | 
| 187 | 
            +
             | 
| 184 188 | 
             
                def originator
         | 
| 185 | 
            -
                   | 
| 189 | 
            +
                  warn "DEPRECATED: use `paper_trail_originator` instead of `originator`. Support for `originator` will be removed in PaperTrail 4.0"
         | 
| 190 | 
            +
                  self.paper_trail_originator
         | 
| 186 191 | 
             
                end
         | 
| 187 192 |  | 
| 188 193 | 
             
                # Returns who changed the item from the state it had in this version.
         | 
    
        data/spec/models/version_spec.rb
    CHANGED
    
    | @@ -22,13 +22,60 @@ describe PaperTrail::Version do | |
| 22 22 | 
             
                describe "Instance" do
         | 
| 23 23 | 
             
                  subject { PaperTrail::Version.new(attributes) rescue PaperTrail::Version.new }
         | 
| 24 24 |  | 
| 25 | 
            -
                  describe  | 
| 25 | 
            +
                  describe '#paper_trail_originator' do
         | 
| 26 | 
            +
                    it { is_expected.to respond_to(:paper_trail_originator) }
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                    context "No previous versions" do
         | 
| 29 | 
            +
                      specify { expect(subject.previous).to be_nil }
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                      it "should return nil" do
         | 
| 32 | 
            +
                        expect(subject.paper_trail_originator).to be_nil
         | 
| 33 | 
            +
                      end
         | 
| 34 | 
            +
                    end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                    context "Has previous version", :versioning => true do
         | 
| 37 | 
            +
                      let(:name) { Faker::Name.name }
         | 
| 38 | 
            +
                      let(:widget) { Widget.create!(:name => Faker::Name.name) }
         | 
| 39 | 
            +
                      before do
         | 
| 40 | 
            +
                        widget.versions.first.update_attributes!(:whodunnit => name)
         | 
| 41 | 
            +
                        widget.update_attributes!(:name => Faker::Name.first_name)
         | 
| 42 | 
            +
                      end
         | 
| 43 | 
            +
                      subject { widget.versions.last }
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                      specify { expect(subject.previous).to be_instance_of(PaperTrail::Version) }
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                      it "should return nil" do
         | 
| 48 | 
            +
                        expect(subject.paper_trail_originator).to eq(name)
         | 
| 49 | 
            +
                      end
         | 
| 50 | 
            +
                    end
         | 
| 51 | 
            +
                  end
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                  describe "#originator" do
         | 
| 54 | 
            +
                    it { is_expected.to respond_to(:originator) }
         | 
| 55 | 
            +
                    let(:warning_msg) do
         | 
| 56 | 
            +
                      "DEPRECATED: use `paper_trail_originator` instead of `originator`." +
         | 
| 57 | 
            +
                      " Support for `originator` will be removed in PaperTrail 4.0"
         | 
| 58 | 
            +
                    end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    it 'should set the invoke `paper_trail_originator`' do
         | 
| 61 | 
            +
                      is_expected.to receive(:warn)
         | 
| 62 | 
            +
                      is_expected.to receive(:paper_trail_originator)
         | 
| 63 | 
            +
                      subject.originator
         | 
| 64 | 
            +
                    end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                    it 'should display a deprecation warning' do
         | 
| 67 | 
            +
                      is_expected.to receive(:warn).with(warning_msg)
         | 
| 68 | 
            +
                      subject.originator
         | 
| 69 | 
            +
                    end
         | 
| 70 | 
            +
                  end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                  describe '#terminator' do
         | 
| 26 73 | 
             
                    it { should respond_to(:terminator) }
         | 
| 27 74 |  | 
| 28 75 | 
             
                    let(:attributes) { {:whodunnit => Faker::Name.first_name} }
         | 
| 29 76 |  | 
| 30 77 | 
             
                    it "is an alias for the `whodunnit` attribute" do
         | 
| 31 | 
            -
                      subject. | 
| 78 | 
            +
                      subject.terminator.should == attributes[:whodunnit]
         | 
| 32 79 | 
             
                    end
         | 
| 33 80 | 
             
                  end
         | 
| 34 81 |  | 
    
        data/spec/models/widget_spec.rb
    CHANGED
    
    | @@ -72,8 +72,8 @@ describe Widget do | |
| 72 72 |  | 
| 73 73 | 
             
              describe "Methods" do
         | 
| 74 74 | 
             
                describe "Instance", :versioning => true do
         | 
| 75 | 
            -
                  describe  | 
| 76 | 
            -
                    it { should respond_to(: | 
| 75 | 
            +
                  describe '#paper_trail_originator' do
         | 
| 76 | 
            +
                    it { should respond_to(:paper_trail_originator) }
         | 
| 77 77 |  | 
| 78 78 | 
             
                    describe "return value" do
         | 
| 79 79 | 
             
                      let(:orig_name) { Faker::Name.name }
         | 
| @@ -84,9 +84,9 @@ describe Widget do | |
| 84 84 | 
             
                        specify { widget.should be_live }
         | 
| 85 85 |  | 
| 86 86 | 
             
                        it "should return the originator for the model at a given state" do
         | 
| 87 | 
            -
                          widget. | 
| 87 | 
            +
                          widget.paper_trail_originator.should == orig_name
         | 
| 88 88 | 
             
                          widget.whodunnit(new_name) { |w| w.update_attributes(:name => 'Elizabeth') }
         | 
| 89 | 
            -
                          widget. | 
| 89 | 
            +
                          widget.paper_trail_originator.should == new_name
         | 
| 90 90 | 
             
                        end
         | 
| 91 91 | 
             
                      end
         | 
| 92 92 |  | 
| @@ -99,13 +99,34 @@ describe Widget do | |
| 99 99 | 
             
                        let(:reified_widget) { widget.versions[1].reify }
         | 
| 100 100 |  | 
| 101 101 | 
             
                        it "should return the appropriate originator" do
         | 
| 102 | 
            -
                          reified_widget. | 
| 102 | 
            +
                          reified_widget.paper_trail_originator.should == orig_name
         | 
| 103 103 | 
             
                        end
         | 
| 104 104 | 
             
                      end
         | 
| 105 105 | 
             
                    end
         | 
| 106 106 | 
             
                  end
         | 
| 107 107 |  | 
| 108 | 
            -
                  describe  | 
| 108 | 
            +
                  describe "#originator" do
         | 
| 109 | 
            +
                    subject { widget }
         | 
| 110 | 
            +
             | 
| 111 | 
            +
                    it { is_expected.to respond_to(:originator) }
         | 
| 112 | 
            +
                    let(:warning_msg) do
         | 
| 113 | 
            +
                      "DEPRECATED: use `paper_trail_originator` instead of `originator`." +
         | 
| 114 | 
            +
                      " Support for `originator` will be removed in PaperTrail 4.0"
         | 
| 115 | 
            +
                    end
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                    it 'should set the invoke `paper_trail_originator`' do
         | 
| 118 | 
            +
                      is_expected.to receive(:warn)
         | 
| 119 | 
            +
                      is_expected.to receive(:paper_trail_originator)
         | 
| 120 | 
            +
                      subject.originator
         | 
| 121 | 
            +
                    end
         | 
| 122 | 
            +
             | 
| 123 | 
            +
                    it 'should display a deprecation warning' do
         | 
| 124 | 
            +
                      is_expected.to receive(:warn).with(warning_msg)
         | 
| 125 | 
            +
                      subject.originator
         | 
| 126 | 
            +
                    end
         | 
| 127 | 
            +
                  end
         | 
| 128 | 
            +
             | 
| 129 | 
            +
                  describe '#version_at' do
         | 
| 109 130 | 
             
                    it { should respond_to(:version_at) }
         | 
| 110 131 |  | 
| 111 132 | 
             
                    context "Timestamp argument is AFTER object has been destroyed" do
         | 
| @@ -200,7 +221,7 @@ describe Widget do | |
| 200 221 | 
             
                    end
         | 
| 201 222 |  | 
| 202 223 | 
             
                    it 'should display a deprecation warning' do
         | 
| 203 | 
            -
                      subject.should_receive(:warn).with("DEPRECATED: use `paper_trail_on!` instead of `paper_trail_on`. Support for `paper_trail_on` will be removed in PaperTrail  | 
| 224 | 
            +
                      subject.should_receive(:warn).with("DEPRECATED: use `paper_trail_on!` instead of `paper_trail_on`. Support for `paper_trail_on` will be removed in PaperTrail 4.0")
         | 
| 204 225 | 
             
                      subject.paper_trail_on
         | 
| 205 226 | 
             
                    end
         | 
| 206 227 | 
             
                  end
         | 
| @@ -229,7 +250,7 @@ describe Widget do | |
| 229 250 | 
             
                    end
         | 
| 230 251 |  | 
| 231 252 | 
             
                    it 'should display a deprecation warning' do
         | 
| 232 | 
            -
                      subject.should_receive(:warn).with("DEPRECATED: use `paper_trail_on!` instead of `paper_trail_on`. Support for `paper_trail_on` will be removed in PaperTrail  | 
| 253 | 
            +
                      subject.should_receive(:warn).with("DEPRECATED: use `paper_trail_on!` instead of `paper_trail_on`. Support for `paper_trail_on` will be removed in PaperTrail 4.0")
         | 
| 233 254 | 
             
                      subject.paper_trail_on
         | 
| 234 255 | 
             
                    end
         | 
| 235 256 | 
             
                  end
         | 
    
        data/test/unit/model_test.rb
    CHANGED
    
    | @@ -567,9 +567,9 @@ class HasPaperTrailModelTest < ActiveSupport::TestCase | |
| 567 567 |  | 
| 568 568 | 
             
                  should 'track who made the change' do
         | 
| 569 569 | 
             
                    assert_equal 'Alice', @version.whodunnit
         | 
| 570 | 
            -
                    assert_nil   @version. | 
| 570 | 
            +
                    assert_nil   @version.paper_trail_originator
         | 
| 571 571 | 
             
                    assert_equal 'Alice', @version.terminator
         | 
| 572 | 
            -
                    assert_equal 'Alice', @widget. | 
| 572 | 
            +
                    assert_equal 'Alice', @widget.paper_trail_originator
         | 
| 573 573 | 
             
                  end
         | 
| 574 574 |  | 
| 575 575 | 
             
                  context 'when a record is updated' do
         | 
| @@ -581,9 +581,9 @@ class HasPaperTrailModelTest < ActiveSupport::TestCase | |
| 581 581 |  | 
| 582 582 | 
             
                    should 'track who made the change' do
         | 
| 583 583 | 
             
                      assert_equal 'Bob',   @version.whodunnit
         | 
| 584 | 
            -
                      assert_equal 'Alice', @version. | 
| 584 | 
            +
                      assert_equal 'Alice', @version.paper_trail_originator
         | 
| 585 585 | 
             
                      assert_equal 'Bob',   @version.terminator
         | 
| 586 | 
            -
                      assert_equal 'Bob',   @widget. | 
| 586 | 
            +
                      assert_equal 'Bob',   @widget.paper_trail_originator
         | 
| 587 587 | 
             
                    end
         | 
| 588 588 |  | 
| 589 589 | 
             
                    context 'when a record is destroyed' do
         | 
| @@ -595,9 +595,9 @@ class HasPaperTrailModelTest < ActiveSupport::TestCase | |
| 595 595 |  | 
| 596 596 | 
             
                      should 'track who made the change' do
         | 
| 597 597 | 
             
                        assert_equal 'Charlie', @version.whodunnit
         | 
| 598 | 
            -
                        assert_equal 'Bob',     @version. | 
| 598 | 
            +
                        assert_equal 'Bob',     @version.paper_trail_originator
         | 
| 599 599 | 
             
                        assert_equal 'Charlie', @version.terminator
         | 
| 600 | 
            -
                        assert_equal 'Charlie', @widget. | 
| 600 | 
            +
                        assert_equal 'Charlie', @widget.paper_trail_originator
         | 
| 601 601 | 
             
                      end
         | 
| 602 602 | 
             
                    end
         | 
| 603 603 | 
             
                  end
         | 
| @@ -649,7 +649,7 @@ class HasPaperTrailModelTest < ActiveSupport::TestCase | |
| 649 649 | 
             
                should 'should return the correct originator' do
         | 
| 650 650 | 
             
                  PaperTrail.whodunnit = 'Ben'
         | 
| 651 651 | 
             
                  @foo.update_attribute(:name, 'Geoffrey')
         | 
| 652 | 
            -
                  assert_equal PaperTrail.whodunnit, @foo. | 
| 652 | 
            +
                  assert_equal PaperTrail.whodunnit, @foo.paper_trail_originator
         | 
| 653 653 | 
             
                end
         | 
| 654 654 |  | 
| 655 655 | 
             
                context 'when destroyed' do
         | 
    
        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: 3.0. | 
| 4 | 
            +
              version: 3.0.9
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andy Stewart
         | 
| @@ -9,220 +9,220 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2015- | 
| 12 | 
            +
            date: 2015-12-14 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: activerecord
         | 
| 16 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                requirements:
         | 
| 18 | 
            -
                - -  | 
| 18 | 
            +
                - - ">="
         | 
| 19 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 20 | 
             
                    version: '3.0'
         | 
| 21 | 
            -
                - - <
         | 
| 21 | 
            +
                - - "<"
         | 
| 22 22 | 
             
                  - !ruby/object:Gem::Version
         | 
| 23 23 | 
             
                    version: '5.0'
         | 
| 24 24 | 
             
              type: :runtime
         | 
| 25 25 | 
             
              prerelease: false
         | 
| 26 26 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 27 27 | 
             
                requirements:
         | 
| 28 | 
            -
                - -  | 
| 28 | 
            +
                - - ">="
         | 
| 29 29 | 
             
                  - !ruby/object:Gem::Version
         | 
| 30 30 | 
             
                    version: '3.0'
         | 
| 31 | 
            -
                - - <
         | 
| 31 | 
            +
                - - "<"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 33 | 
             
                    version: '5.0'
         | 
| 34 34 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 35 35 | 
             
              name: activesupport
         | 
| 36 36 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 | 
            -
                - -  | 
| 38 | 
            +
                - - ">="
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: '3.0'
         | 
| 41 | 
            -
                - - <
         | 
| 41 | 
            +
                - - "<"
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 43 | 
             
                    version: '5.0'
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 46 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 47 47 | 
             
                requirements:
         | 
| 48 | 
            -
                - -  | 
| 48 | 
            +
                - - ">="
         | 
| 49 49 | 
             
                  - !ruby/object:Gem::Version
         | 
| 50 50 | 
             
                    version: '3.0'
         | 
| 51 | 
            -
                - - <
         | 
| 51 | 
            +
                - - "<"
         | 
| 52 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 53 53 | 
             
                    version: '5.0'
         | 
| 54 54 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 55 55 | 
             
              name: rake
         | 
| 56 56 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 57 57 | 
             
                requirements:
         | 
| 58 | 
            -
                - - ~>
         | 
| 58 | 
            +
                - - "~>"
         | 
| 59 59 | 
             
                  - !ruby/object:Gem::Version
         | 
| 60 60 | 
             
                    version: 10.1.1
         | 
| 61 61 | 
             
              type: :development
         | 
| 62 62 | 
             
              prerelease: false
         | 
| 63 63 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 64 64 | 
             
                requirements:
         | 
| 65 | 
            -
                - - ~>
         | 
| 65 | 
            +
                - - "~>"
         | 
| 66 66 | 
             
                  - !ruby/object:Gem::Version
         | 
| 67 67 | 
             
                    version: 10.1.1
         | 
| 68 68 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 69 69 | 
             
              name: shoulda
         | 
| 70 70 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 71 71 | 
             
                requirements:
         | 
| 72 | 
            -
                - - ~>
         | 
| 72 | 
            +
                - - "~>"
         | 
| 73 73 | 
             
                  - !ruby/object:Gem::Version
         | 
| 74 74 | 
             
                    version: '3.5'
         | 
| 75 75 | 
             
              type: :development
         | 
| 76 76 | 
             
              prerelease: false
         | 
| 77 77 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 78 78 | 
             
                requirements:
         | 
| 79 | 
            -
                - - ~>
         | 
| 79 | 
            +
                - - "~>"
         | 
| 80 80 | 
             
                  - !ruby/object:Gem::Version
         | 
| 81 81 | 
             
                    version: '3.5'
         | 
| 82 82 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 83 83 | 
             
              name: ffaker
         | 
| 84 84 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 85 85 | 
             
                requirements:
         | 
| 86 | 
            -
                - - <=
         | 
| 86 | 
            +
                - - "<="
         | 
| 87 87 | 
             
                  - !ruby/object:Gem::Version
         | 
| 88 88 | 
             
                    version: 1.31.0
         | 
| 89 89 | 
             
              type: :development
         | 
| 90 90 | 
             
              prerelease: false
         | 
| 91 91 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 92 92 | 
             
                requirements:
         | 
| 93 | 
            -
                - - <=
         | 
| 93 | 
            +
                - - "<="
         | 
| 94 94 | 
             
                  - !ruby/object:Gem::Version
         | 
| 95 95 | 
             
                    version: 1.31.0
         | 
| 96 96 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 97 97 | 
             
              name: railties
         | 
| 98 98 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 99 99 | 
             
                requirements:
         | 
| 100 | 
            -
                - -  | 
| 100 | 
            +
                - - ">="
         | 
| 101 101 | 
             
                  - !ruby/object:Gem::Version
         | 
| 102 102 | 
             
                    version: '3.0'
         | 
| 103 | 
            -
                - - <
         | 
| 103 | 
            +
                - - "<"
         | 
| 104 104 | 
             
                  - !ruby/object:Gem::Version
         | 
| 105 105 | 
             
                    version: '5.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 112 | 
             
                    version: '3.0'
         | 
| 113 | 
            -
                - - <
         | 
| 113 | 
            +
                - - "<"
         | 
| 114 114 | 
             
                  - !ruby/object:Gem::Version
         | 
| 115 115 | 
             
                    version: '5.0'
         | 
| 116 116 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 117 117 | 
             
              name: sinatra
         | 
| 118 118 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 119 119 | 
             
                requirements:
         | 
| 120 | 
            -
                - - ~>
         | 
| 120 | 
            +
                - - "~>"
         | 
| 121 121 | 
             
                  - !ruby/object:Gem::Version
         | 
| 122 122 | 
             
                    version: '1.0'
         | 
| 123 123 | 
             
              type: :development
         | 
| 124 124 | 
             
              prerelease: false
         | 
| 125 125 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 126 126 | 
             
                requirements:
         | 
| 127 | 
            -
                - - ~>
         | 
| 127 | 
            +
                - - "~>"
         | 
| 128 128 | 
             
                  - !ruby/object:Gem::Version
         | 
| 129 129 | 
             
                    version: '1.0'
         | 
| 130 130 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 131 131 | 
             
              name: rack-test
         | 
| 132 132 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 133 133 | 
             
                requirements:
         | 
| 134 | 
            -
                - -  | 
| 134 | 
            +
                - - ">="
         | 
| 135 135 | 
             
                  - !ruby/object:Gem::Version
         | 
| 136 136 | 
             
                    version: '0.6'
         | 
| 137 137 | 
             
              type: :development
         | 
| 138 138 | 
             
              prerelease: false
         | 
| 139 139 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 140 140 | 
             
                requirements:
         | 
| 141 | 
            -
                - -  | 
| 141 | 
            +
                - - ">="
         | 
| 142 142 | 
             
                  - !ruby/object:Gem::Version
         | 
| 143 143 | 
             
                    version: '0.6'
         | 
| 144 144 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 145 145 | 
             
              name: rspec-rails
         | 
| 146 146 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 147 147 | 
             
                requirements:
         | 
| 148 | 
            -
                - - ~>
         | 
| 148 | 
            +
                - - "~>"
         | 
| 149 149 | 
             
                  - !ruby/object:Gem::Version
         | 
| 150 150 | 
             
                    version: '2.14'
         | 
| 151 151 | 
             
              type: :development
         | 
| 152 152 | 
             
              prerelease: false
         | 
| 153 153 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 154 154 | 
             
                requirements:
         | 
| 155 | 
            -
                - - ~>
         | 
| 155 | 
            +
                - - "~>"
         | 
| 156 156 | 
             
                  - !ruby/object:Gem::Version
         | 
| 157 157 | 
             
                    version: '2.14'
         | 
| 158 158 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 159 159 | 
             
              name: generator_spec
         | 
| 160 160 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 161 161 | 
             
                requirements:
         | 
| 162 | 
            -
                - -  | 
| 162 | 
            +
                - - ">="
         | 
| 163 163 | 
             
                  - !ruby/object:Gem::Version
         | 
| 164 164 | 
             
                    version: '0'
         | 
| 165 165 | 
             
              type: :development
         | 
| 166 166 | 
             
              prerelease: false
         | 
| 167 167 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 168 168 | 
             
                requirements:
         | 
| 169 | 
            -
                - -  | 
| 169 | 
            +
                - - ">="
         | 
| 170 170 | 
             
                  - !ruby/object:Gem::Version
         | 
| 171 171 | 
             
                    version: '0'
         | 
| 172 172 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 173 173 | 
             
              name: database_cleaner
         | 
| 174 174 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 175 175 | 
             
                requirements:
         | 
| 176 | 
            -
                - - ~>
         | 
| 176 | 
            +
                - - "~>"
         | 
| 177 177 | 
             
                  - !ruby/object:Gem::Version
         | 
| 178 178 | 
             
                    version: '1.2'
         | 
| 179 179 | 
             
              type: :development
         | 
| 180 180 | 
             
              prerelease: false
         | 
| 181 181 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 182 182 | 
             
                requirements:
         | 
| 183 | 
            -
                - - ~>
         | 
| 183 | 
            +
                - - "~>"
         | 
| 184 184 | 
             
                  - !ruby/object:Gem::Version
         | 
| 185 185 | 
             
                    version: '1.2'
         | 
| 186 186 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 187 187 | 
             
              name: sqlite3
         | 
| 188 188 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 189 189 | 
             
                requirements:
         | 
| 190 | 
            -
                - - ~>
         | 
| 190 | 
            +
                - - "~>"
         | 
| 191 191 | 
             
                  - !ruby/object:Gem::Version
         | 
| 192 192 | 
             
                    version: '1.2'
         | 
| 193 193 | 
             
              type: :development
         | 
| 194 194 | 
             
              prerelease: false
         | 
| 195 195 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 196 196 | 
             
                requirements:
         | 
| 197 | 
            -
                - - ~>
         | 
| 197 | 
            +
                - - "~>"
         | 
| 198 198 | 
             
                  - !ruby/object:Gem::Version
         | 
| 199 199 | 
             
                    version: '1.2'
         | 
| 200 200 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 201 201 | 
             
              name: mysql2
         | 
| 202 202 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 203 203 | 
             
                requirements:
         | 
| 204 | 
            -
                - - ~>
         | 
| 204 | 
            +
                - - "~>"
         | 
| 205 205 | 
             
                  - !ruby/object:Gem::Version
         | 
| 206 206 | 
             
                    version: '0.3'
         | 
| 207 207 | 
             
              type: :development
         | 
| 208 208 | 
             
              prerelease: false
         | 
| 209 209 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 210 210 | 
             
                requirements:
         | 
| 211 | 
            -
                - - ~>
         | 
| 211 | 
            +
                - - "~>"
         | 
| 212 212 | 
             
                  - !ruby/object:Gem::Version
         | 
| 213 213 | 
             
                    version: '0.3'
         | 
| 214 214 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 215 215 | 
             
              name: pg
         | 
| 216 216 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 217 217 | 
             
                requirements:
         | 
| 218 | 
            -
                - - ~>
         | 
| 218 | 
            +
                - - "~>"
         | 
| 219 219 | 
             
                  - !ruby/object:Gem::Version
         | 
| 220 220 | 
             
                    version: '0.17'
         | 
| 221 221 | 
             
              type: :development
         | 
| 222 222 | 
             
              prerelease: false
         | 
| 223 223 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 224 224 | 
             
                requirements:
         | 
| 225 | 
            -
                - - ~>
         | 
| 225 | 
            +
                - - "~>"
         | 
| 226 226 | 
             
                  - !ruby/object:Gem::Version
         | 
| 227 227 | 
             
                    version: '0.17'
         | 
| 228 228 | 
             
            description: Track changes to your models' data. Good for auditing or versioning.
         | 
| @@ -231,9 +231,9 @@ executables: [] | |
| 231 231 | 
             
            extensions: []
         | 
| 232 232 | 
             
            extra_rdoc_files: []
         | 
| 233 233 | 
             
            files:
         | 
| 234 | 
            -
            - .gitignore
         | 
| 235 | 
            -
            - .rspec
         | 
| 236 | 
            -
            - .travis.yml
         | 
| 234 | 
            +
            - ".gitignore"
         | 
| 235 | 
            +
            - ".rspec"
         | 
| 236 | 
            +
            - ".travis.yml"
         | 
| 237 237 | 
             
            - CHANGELOG.md
         | 
| 238 238 | 
             
            - Gemfile
         | 
| 239 239 | 
             
            - MIT-LICENSE
         | 
| @@ -325,17 +325,7 @@ files: | |
| 325 325 | 
             
            - test/dummy/config/routes.rb
         | 
| 326 326 | 
             
            - test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
         | 
| 327 327 | 
             
            - test/dummy/db/schema.rb
         | 
| 328 | 
            -
            - test/dummy/public/404.html
         | 
| 329 | 
            -
            - test/dummy/public/422.html
         | 
| 330 | 
            -
            - test/dummy/public/500.html
         | 
| 331 | 
            -
            - test/dummy/public/favicon.ico
         | 
| 332 | 
            -
            - test/dummy/public/javascripts/application.js
         | 
| 333 | 
            -
            - test/dummy/public/javascripts/controls.js
         | 
| 334 | 
            -
            - test/dummy/public/javascripts/dragdrop.js
         | 
| 335 | 
            -
            - test/dummy/public/javascripts/effects.js
         | 
| 336 328 | 
             
            - test/dummy/public/javascripts/prototype.js
         | 
| 337 | 
            -
            - test/dummy/public/javascripts/rails.js
         | 
| 338 | 
            -
            - test/dummy/public/stylesheets/.gitkeep
         | 
| 339 329 | 
             
            - test/dummy/script/rails
         | 
| 340 330 | 
             
            - test/functional/controller_test.rb
         | 
| 341 331 | 
             
            - test/functional/enabled_for_controller_test.rb
         | 
| @@ -365,17 +355,17 @@ require_paths: | |
| 365 355 | 
             
            - lib
         | 
| 366 356 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 367 357 | 
             
              requirements:
         | 
| 368 | 
            -
              - -  | 
| 358 | 
            +
              - - ">="
         | 
| 369 359 | 
             
                - !ruby/object:Gem::Version
         | 
| 370 360 | 
             
                  version: '0'
         | 
| 371 361 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 372 362 | 
             
              requirements:
         | 
| 373 | 
            -
              - -  | 
| 363 | 
            +
              - - ">="
         | 
| 374 364 | 
             
                - !ruby/object:Gem::Version
         | 
| 375 365 | 
             
                  version: 1.3.6
         | 
| 376 366 | 
             
            requirements: []
         | 
| 377 367 | 
             
            rubyforge_project: 
         | 
| 378 | 
            -
            rubygems_version: 2.4. | 
| 368 | 
            +
            rubygems_version: 2.4.6
         | 
| 379 369 | 
             
            signing_key: 
         | 
| 380 370 | 
             
            specification_version: 4
         | 
| 381 371 | 
             
            summary: Track changes to your models' data. Good for auditing or versioning.
         | 
| @@ -443,17 +433,7 @@ test_files: | |
| 443 433 | 
             
            - test/dummy/config/routes.rb
         | 
| 444 434 | 
             
            - test/dummy/db/migrate/20110208155312_set_up_test_tables.rb
         | 
| 445 435 | 
             
            - test/dummy/db/schema.rb
         | 
| 446 | 
            -
            - test/dummy/public/404.html
         | 
| 447 | 
            -
            - test/dummy/public/422.html
         | 
| 448 | 
            -
            - test/dummy/public/500.html
         | 
| 449 | 
            -
            - test/dummy/public/favicon.ico
         | 
| 450 | 
            -
            - test/dummy/public/javascripts/application.js
         | 
| 451 | 
            -
            - test/dummy/public/javascripts/controls.js
         | 
| 452 | 
            -
            - test/dummy/public/javascripts/dragdrop.js
         | 
| 453 | 
            -
            - test/dummy/public/javascripts/effects.js
         | 
| 454 436 | 
             
            - test/dummy/public/javascripts/prototype.js
         | 
| 455 | 
            -
            - test/dummy/public/javascripts/rails.js
         | 
| 456 | 
            -
            - test/dummy/public/stylesheets/.gitkeep
         | 
| 457 437 | 
             
            - test/dummy/script/rails
         | 
| 458 438 | 
             
            - test/functional/controller_test.rb
         | 
| 459 439 | 
             
            - test/functional/enabled_for_controller_test.rb
         |