rails_soft_deletable 0.1.0 → 0.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 +8 -8
- data/lib/rails_soft_deletable/callbacks.rb +8 -28
- data/lib/rails_soft_deletable/version.rb +1 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/lib/soft_deletable_model_callbacks.rb +25 -6
- data/spec/dummy/log/test.log +759 -1131
- data/spec/rails_soft_deletable_spec.rb +20 -27
- metadata +30 -32
- data/spec/dummy/log/development.log +0 -0
| @@ -240,9 +240,16 @@ describe RailsSoftDeletable do | |
| 240 240 | 
             
                it "performs destroy callbacks" do
         | 
| 241 241 | 
             
                  model.destroy
         | 
| 242 242 |  | 
| 243 | 
            -
                  expect(model.before_destroy_called).to eq( | 
| 244 | 
            -
                  expect(model.around_destroy_called).to eq( | 
| 245 | 
            -
                  expect(model.after_destroy_called).to eq( | 
| 243 | 
            +
                  expect(model.before_destroy_called).to eq(1)
         | 
| 244 | 
            +
                  expect(model.around_destroy_called).to eq(2)
         | 
| 245 | 
            +
                  expect(model.after_destroy_called).to eq(3)
         | 
| 246 | 
            +
                end
         | 
| 247 | 
            +
             | 
| 248 | 
            +
                it "performs commit callbacks" do
         | 
| 249 | 
            +
                  model.destroy
         | 
| 250 | 
            +
             | 
| 251 | 
            +
                  expect(model.after_commit_called).to eq(4)
         | 
| 252 | 
            +
                  expect(model.after_commit_called).to be > model.after_destroy_called
         | 
| 246 253 | 
             
                end
         | 
| 247 254 |  | 
| 248 255 | 
             
                context "when record has already been soft deleted" do
         | 
| @@ -251,19 +258,12 @@ describe RailsSoftDeletable do | |
| 251 258 | 
             
                    model.reset_callback_flags!
         | 
| 252 259 | 
             
                  end
         | 
| 253 260 |  | 
| 254 | 
            -
                  it " | 
| 255 | 
            -
                    model.destroy
         | 
| 256 | 
            -
             | 
| 257 | 
            -
                    expect(model.before_destroy_called).to be_nil
         | 
| 258 | 
            -
                    expect(model.around_destroy_called).to be_nil
         | 
| 259 | 
            -
                    expect(model.after_destroy_called).to be_nil
         | 
| 260 | 
            -
                  end
         | 
| 261 | 
            -
             | 
| 262 | 
            -
                  it "hard deletes the record from the database" do
         | 
| 261 | 
            +
                  it "continues to call destroy callbacks" do
         | 
| 263 262 | 
             
                    model.destroy
         | 
| 264 263 |  | 
| 265 | 
            -
                     | 
| 266 | 
            -
                    expect( | 
| 264 | 
            +
                    expect(model.before_destroy_called).to eq(1)
         | 
| 265 | 
            +
                    expect(model.around_destroy_called).to eq(2)
         | 
| 266 | 
            +
                    expect(model.after_destroy_called).to eq(3)
         | 
| 267 267 | 
             
                  end
         | 
| 268 268 | 
             
                end
         | 
| 269 269 |  | 
| @@ -278,9 +278,9 @@ describe RailsSoftDeletable do | |
| 278 278 | 
             
                  it "performs destroy callbacks" do
         | 
| 279 279 | 
             
                    model.destroy(:hard)
         | 
| 280 280 |  | 
| 281 | 
            -
                    expect(model.before_destroy_called).to eq( | 
| 282 | 
            -
                    expect(model.around_destroy_called).to eq( | 
| 283 | 
            -
                    expect(model.after_destroy_called).to eq( | 
| 281 | 
            +
                    expect(model.before_destroy_called).to eq(1)
         | 
| 282 | 
            +
                    expect(model.around_destroy_called).to eq(2)
         | 
| 283 | 
            +
                    expect(model.after_destroy_called).to eq(3)
         | 
| 284 284 | 
             
                  end
         | 
| 285 285 | 
             
                end
         | 
| 286 286 | 
             
              end
         | 
| @@ -356,13 +356,6 @@ describe RailsSoftDeletable do | |
| 356 356 | 
             
                    expect(model.around_destroy_called).to be_nil
         | 
| 357 357 | 
             
                    expect(model.after_destroy_called).to be_nil
         | 
| 358 358 | 
             
                  end
         | 
| 359 | 
            -
             | 
| 360 | 
            -
                  it "hard deletes the record from the database" do
         | 
| 361 | 
            -
                    model.delete
         | 
| 362 | 
            -
             | 
| 363 | 
            -
                    count = model.class.connection.select_value("SELECT COUNT(*) FROM #{model.class.quoted_table_name} WHERE #{model.class.primary_key} = #{model.id}")
         | 
| 364 | 
            -
                    expect(count).to eq(0)
         | 
| 365 | 
            -
                  end
         | 
| 366 359 | 
             
                end
         | 
| 367 360 |  | 
| 368 361 | 
             
                context "with hard delete mode" do
         | 
| @@ -410,9 +403,9 @@ describe RailsSoftDeletable do | |
| 410 403 | 
             
                it "performs restore callbacks" do
         | 
| 411 404 | 
             
                  model.restore!
         | 
| 412 405 |  | 
| 413 | 
            -
                  expect(model.before_restore_called).to eq( | 
| 414 | 
            -
                  expect(model.around_restore_called).to eq( | 
| 415 | 
            -
                  expect(model.after_restore_called).to eq( | 
| 406 | 
            +
                  expect(model.before_restore_called).to eq(1)
         | 
| 407 | 
            +
                  expect(model.around_restore_called).to eq(2)
         | 
| 408 | 
            +
                  expect(model.after_restore_called).to eq(3)
         | 
| 416 409 | 
             
                end
         | 
| 417 410 |  | 
| 418 411 | 
             
                it "returns true" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rails_soft_deletable
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Quan Nguyen
         | 
| @@ -9,11 +9,10 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2015-02-09 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            -
               | 
| 16 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 15 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 17 16 | 
             
                requirements:
         | 
| 18 17 | 
             
                - - ! '>='
         | 
| 19 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -21,9 +20,9 @@ dependencies: | |
| 21 20 | 
             
                - - <
         | 
| 22 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 23 22 | 
             
                    version: '4.1'
         | 
| 24 | 
            -
              type: :runtime
         | 
| 25 23 | 
             
              prerelease: false
         | 
| 26 | 
            -
               | 
| 24 | 
            +
              name: rails
         | 
| 25 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 27 26 | 
             
                requirements:
         | 
| 28 27 | 
             
                - - ! '>='
         | 
| 29 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -31,35 +30,42 @@ dependencies: | |
| 31 30 | 
             
                - - <
         | 
| 32 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 32 | 
             
                    version: '4.1'
         | 
| 33 | 
            +
              type: :runtime
         | 
| 34 34 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 35 | 
            -
               | 
| 36 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 35 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 36 | 
             
                requirements:
         | 
| 38 37 | 
             
                - - ~>
         | 
| 39 38 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 39 | 
             
                    version: '1.3'
         | 
| 41 | 
            -
              type: :development
         | 
| 42 40 | 
             
              prerelease: false
         | 
| 43 | 
            -
               | 
| 41 | 
            +
              name: bundler
         | 
| 42 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 43 | 
             
                requirements:
         | 
| 45 44 | 
             
                - - ~>
         | 
| 46 45 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 46 | 
             
                    version: '1.3'
         | 
| 47 | 
            +
              type: :development
         | 
| 48 48 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 49 | 
            -
               | 
| 50 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 50 | 
             
                requirements:
         | 
| 52 51 | 
             
                - - ! '>='
         | 
| 53 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 53 | 
             
                    version: '0'
         | 
| 55 | 
            -
              type: :development
         | 
| 56 54 | 
             
              prerelease: false
         | 
| 57 | 
            -
               | 
| 55 | 
            +
              name: rake
         | 
| 56 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 57 | 
             
                requirements:
         | 
| 59 58 | 
             
                - - ! '>='
         | 
| 60 59 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 60 | 
             
                    version: '0'
         | 
| 61 | 
            +
              type: :development
         | 
| 62 62 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 64 | 
            +
                requirements:
         | 
| 65 | 
            +
                - - ~>
         | 
| 66 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 67 | 
            +
                    version: 3.1.0
         | 
| 68 | 
            +
              prerelease: false
         | 
| 63 69 | 
             
              name: rspec
         | 
| 64 70 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 71 | 
             
                requirements:
         | 
| @@ -67,13 +73,13 @@ dependencies: | |
| 67 73 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 74 | 
             
                    version: 3.1.0
         | 
| 69 75 | 
             
              type: :development
         | 
| 70 | 
            -
             | 
| 76 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 71 77 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 72 78 | 
             
                requirements:
         | 
| 73 79 | 
             
                - - ~>
         | 
| 74 80 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version:  | 
| 76 | 
            -
             | 
| 81 | 
            +
                    version: '1.6'
         | 
| 82 | 
            +
              prerelease: false
         | 
| 77 83 | 
             
              name: debugger
         | 
| 78 84 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 79 85 | 
             
                requirements:
         | 
| @@ -81,13 +87,13 @@ dependencies: | |
| 81 87 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 88 | 
             
                    version: '1.6'
         | 
| 83 89 | 
             
              type: :development
         | 
| 84 | 
            -
             | 
| 90 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 85 91 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 86 92 | 
             
                requirements:
         | 
| 87 | 
            -
                - -  | 
| 93 | 
            +
                - - ! '>='
         | 
| 88 94 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            -
                    version: ' | 
| 90 | 
            -
             | 
| 95 | 
            +
                    version: '0'
         | 
| 96 | 
            +
              prerelease: false
         | 
| 91 97 | 
             
              name: timecop
         | 
| 92 98 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 93 99 | 
             
                requirements:
         | 
| @@ -95,13 +101,13 @@ dependencies: | |
| 95 101 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 102 | 
             
                    version: '0'
         | 
| 97 103 | 
             
              type: :development
         | 
| 98 | 
            -
             | 
| 104 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 99 105 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 100 106 | 
             
                requirements:
         | 
| 101 107 | 
             
                - - ! '>='
         | 
| 102 108 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 109 | 
             
                    version: '0'
         | 
| 104 | 
            -
             | 
| 110 | 
            +
              prerelease: false
         | 
| 105 111 | 
             
              name: sqlite3
         | 
| 106 112 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 107 113 | 
             
                requirements:
         | 
| @@ -109,12 +115,6 @@ dependencies: | |
| 109 115 | 
             
                  - !ruby/object:Gem::Version
         | 
| 110 116 | 
             
                    version: '0'
         | 
| 111 117 | 
             
              type: :development
         | 
| 112 | 
            -
              prerelease: false
         | 
| 113 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 114 | 
            -
                requirements:
         | 
| 115 | 
            -
                - - ! '>='
         | 
| 116 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: '0'
         | 
| 118 118 | 
             
            description: Soft deletable for ActiveRecord on Rails 3+.
         | 
| 119 119 | 
             
            email:
         | 
| 120 120 | 
             
            - quan@listia.com
         | 
| @@ -162,7 +162,6 @@ files: | |
| 162 162 | 
             
            - spec/dummy/db/schema.rb
         | 
| 163 163 | 
             
            - spec/dummy/db/test.sqlite3
         | 
| 164 164 | 
             
            - spec/dummy/lib/soft_deletable_model_callbacks.rb
         | 
| 165 | 
            -
            - spec/dummy/log/development.log
         | 
| 166 165 | 
             
            - spec/dummy/log/test.log
         | 
| 167 166 | 
             
            - spec/dummy/public/404.html
         | 
| 168 167 | 
             
            - spec/dummy/public/422.html
         | 
| @@ -193,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 193 192 | 
             
                  version: '0'
         | 
| 194 193 | 
             
            requirements: []
         | 
| 195 194 | 
             
            rubyforge_project: 
         | 
| 196 | 
            -
            rubygems_version: 2. | 
| 195 | 
            +
            rubygems_version: 2.2.2
         | 
| 197 196 | 
             
            signing_key: 
         | 
| 198 197 | 
             
            specification_version: 4
         | 
| 199 198 | 
             
            summary: Soft deletable for ActiveRecord on Rails 3+
         | 
| @@ -227,7 +226,6 @@ test_files: | |
| 227 226 | 
             
            - spec/dummy/db/schema.rb
         | 
| 228 227 | 
             
            - spec/dummy/db/test.sqlite3
         | 
| 229 228 | 
             
            - spec/dummy/lib/soft_deletable_model_callbacks.rb
         | 
| 230 | 
            -
            - spec/dummy/log/development.log
         | 
| 231 229 | 
             
            - spec/dummy/log/test.log
         | 
| 232 230 | 
             
            - spec/dummy/public/404.html
         | 
| 233 231 | 
             
            - spec/dummy/public/422.html
         | 
| 
            File without changes
         |