mongoid-list 0.2.0 → 0.3.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.
| @@ -9,6 +9,7 @@ module Mongoid | |
| 9 9 | 
             
                    def update_positions!(klass, elements)
         | 
| 10 10 | 
             
                      elements.each_with_index do |element, idx|
         | 
| 11 11 | 
             
                        id = element.kind_of?(Hash) ? element['id'] : element
         | 
| 12 | 
            +
                        id = Moped::BSON::ObjectId.from_string(id) if id.is_a?(String)
         | 
| 12 13 | 
             
                        klass.collection.find({ _id: id }).update({ '$set' => { position: (idx + 1) } })
         | 
| 13 14 | 
             
                      end
         | 
| 14 15 | 
             
                    end
         | 
    
        data/lib/mongoid/list/version.rb
    CHANGED
    
    
    
        data/mongoid-list.gemspec
    CHANGED
    
    | @@ -7,7 +7,6 @@ require "mongoid/list/version" | |
| 7 7 | 
             
            Gem::Specification.new do |s|
         | 
| 8 8 | 
             
              s.name          = 'mongoid-list'
         | 
| 9 9 | 
             
              s.version       = Mongoid::List::VERSION
         | 
| 10 | 
            -
              s.date          = '2013-02-06'
         | 
| 11 10 | 
             
              s.authors       = [ 'Dave Krupinski' ]
         | 
| 12 11 | 
             
              s.email         = 'dave@davekrupinski.com'
         | 
| 13 12 | 
             
              s.summary       = 'Simple list behavior for Mongoid'
         | 
| @@ -18,15 +17,13 @@ Gem::Specification.new do |s| | |
| 18 17 | 
             
              s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
         | 
| 19 18 | 
             
              s.require_paths = ["lib"]
         | 
| 20 19 |  | 
| 21 | 
            -
              s.add_dependency('mongoid', [ '>= 3. | 
| 20 | 
            +
              s.add_dependency('mongoid', [ '>= 3.1.0' ])
         | 
| 22 21 |  | 
| 23 22 | 
             
              s.add_development_dependency('rspec', [ '>= 2.13.0' ])
         | 
| 24 23 | 
             
              s.add_development_dependency('guard', [ '>= 1.8.0' ])
         | 
| 25 24 | 
             
              s.add_development_dependency('guard-rspec', [ '>= 2.5.0' ])
         | 
| 26 25 | 
             
              s.add_development_dependency('guard-spork', [ '>= 1.5.0' ])
         | 
| 27 | 
            -
              s.add_development_dependency('listen', [ '>= 1. | 
| 28 | 
            -
              s.add_development_dependency('database_cleaner', [ '~> 0. | 
| 29 | 
            -
             | 
| 30 | 
            -
              s.add_development_dependency('rspecify')
         | 
| 26 | 
            +
              s.add_development_dependency('listen', [ '>= 1.1.0' ])
         | 
| 27 | 
            +
              s.add_development_dependency('database_cleaner', [ '~> 1.0.0 ' ])
         | 
| 31 28 |  | 
| 32 29 | 
             
            end
         | 
| @@ -82,6 +82,33 @@ describe Mongoid::List::Collection do | |
| 82 82 |  | 
| 83 83 | 
             
              describe "#update_positions_in_list!" do
         | 
| 84 84 |  | 
| 85 | 
            +
                context "string Ids" do
         | 
| 86 | 
            +
             | 
| 87 | 
            +
                  let!(:obj1) { Simple.create }
         | 
| 88 | 
            +
                  let!(:obj2) { Simple.create }
         | 
| 89 | 
            +
                  let!(:obj3) { Simple.create }
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                  before do
         | 
| 92 | 
            +
                    Simple.update_positions_in_list!([obj2.id.to_s, obj1.id.to_s, obj3.id.to_s])
         | 
| 93 | 
            +
                  end
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                  it "should change obj1 from :position of 1 to 2" do
         | 
| 96 | 
            +
                    obj1.position.should eq 1
         | 
| 97 | 
            +
                    obj1.reload.position.should eq 2
         | 
| 98 | 
            +
                  end
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                  it "should change obj2 from :position of 2 to 1" do
         | 
| 101 | 
            +
                    obj2.position.should eq 2
         | 
| 102 | 
            +
                    obj2.reload.position.should eq 1
         | 
| 103 | 
            +
                  end
         | 
| 104 | 
            +
             | 
| 105 | 
            +
                  it "should not change obj3 from :position of 3" do
         | 
| 106 | 
            +
                    obj3.position.should eq 3
         | 
| 107 | 
            +
                    obj3.reload.position.should eq 3
         | 
| 108 | 
            +
                  end
         | 
| 109 | 
            +
             | 
| 110 | 
            +
                end
         | 
| 111 | 
            +
             | 
| 85 112 | 
             
                context "unscoped" do
         | 
| 86 113 |  | 
| 87 114 | 
             
                  let!(:obj1) { Simple.create }
         | 
| @@ -116,6 +116,32 @@ describe Mongoid::List::Embedded do | |
| 116 116 | 
             
                  Container.create!
         | 
| 117 117 | 
             
                end
         | 
| 118 118 |  | 
| 119 | 
            +
                context "with String Ids" do
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                  let!(:obj1) { container.items.create! }
         | 
| 122 | 
            +
                  let!(:obj2) { container.items.create! }
         | 
| 123 | 
            +
                  let!(:obj3) { container.items.create! }
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                  before do
         | 
| 126 | 
            +
                    container.items.update_positions_in_list!([ obj2.id.to_s, obj1.id.to_s, obj3.id.to_s ])
         | 
| 127 | 
            +
                  end
         | 
| 128 | 
            +
             | 
| 129 | 
            +
                  it "should change obj1 from :position of 1 to 2" do
         | 
| 130 | 
            +
                    obj1.position.should eq 1
         | 
| 131 | 
            +
                    obj1.reload.position.should eq 2
         | 
| 132 | 
            +
                  end
         | 
| 133 | 
            +
             | 
| 134 | 
            +
                  it "should change obj2 from :position of 2 to 1" do
         | 
| 135 | 
            +
                    obj2.position.should eq 2
         | 
| 136 | 
            +
                    obj2.reload.position.should eq 1
         | 
| 137 | 
            +
                  end
         | 
| 138 | 
            +
             | 
| 139 | 
            +
                  it "should not change obj3 from :position of 3" do
         | 
| 140 | 
            +
                    obj3.position.should eq 3
         | 
| 141 | 
            +
                    obj3.reload.position.should eq 3
         | 
| 142 | 
            +
                  end
         | 
| 143 | 
            +
             | 
| 144 | 
            +
                end
         | 
| 119 145 | 
             
                context "unscoped" do
         | 
| 120 146 |  | 
| 121 147 | 
             
                  let!(:obj1) { container.items.create! }
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: mongoid-list
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013- | 
| 12 | 
            +
            date: 2013-05-22 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: mongoid
         | 
| @@ -18,7 +18,7 @@ dependencies: | |
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>='
         | 
| 20 20 | 
             
                  - !ruby/object:Gem::Version
         | 
| 21 | 
            -
                    version: 3. | 
| 21 | 
            +
                    version: 3.1.0
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 24 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -26,7 +26,7 @@ dependencies: | |
| 26 26 | 
             
                requirements:
         | 
| 27 27 | 
             
                - - ! '>='
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: 3. | 
| 29 | 
            +
                    version: 3.1.0
         | 
| 30 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 31 | 
             
              name: rspec
         | 
| 32 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -98,7 +98,7 @@ dependencies: | |
| 98 98 | 
             
                requirements:
         | 
| 99 99 | 
             
                - - ! '>='
         | 
| 100 100 | 
             
                  - !ruby/object:Gem::Version
         | 
| 101 | 
            -
                    version: 1. | 
| 101 | 
            +
                    version: 1.1.0
         | 
| 102 102 | 
             
              type: :development
         | 
| 103 103 | 
             
              prerelease: false
         | 
| 104 104 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -106,7 +106,7 @@ dependencies: | |
| 106 106 | 
             
                requirements:
         | 
| 107 107 | 
             
                - - ! '>='
         | 
| 108 108 | 
             
                  - !ruby/object:Gem::Version
         | 
| 109 | 
            -
                    version: 1. | 
| 109 | 
            +
                    version: 1.1.0
         | 
| 110 110 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 111 111 | 
             
              name: database_cleaner
         | 
| 112 112 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -114,7 +114,7 @@ dependencies: | |
| 114 114 | 
             
                requirements:
         | 
| 115 115 | 
             
                - - ~>
         | 
| 116 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: 0. | 
| 117 | 
            +
                    version: 1.0.0
         | 
| 118 118 | 
             
              type: :development
         | 
| 119 119 | 
             
              prerelease: false
         | 
| 120 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -122,23 +122,7 @@ dependencies: | |
| 122 122 | 
             
                requirements:
         | 
| 123 123 | 
             
                - - ~>
         | 
| 124 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 125 | 
            -
                    version: 0. | 
| 126 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 127 | 
            -
              name: rspecify
         | 
| 128 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 129 | 
            -
                none: false
         | 
| 130 | 
            -
                requirements:
         | 
| 131 | 
            -
                - - ! '>='
         | 
| 132 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 133 | 
            -
                    version: '0'
         | 
| 134 | 
            -
              type: :development
         | 
| 135 | 
            -
              prerelease: false
         | 
| 136 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 137 | 
            -
                none: false
         | 
| 138 | 
            -
                requirements:
         | 
| 139 | 
            -
                - - ! '>='
         | 
| 140 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 141 | 
            -
                    version: '0'
         | 
| 125 | 
            +
                    version: 1.0.0
         | 
| 142 126 | 
             
            description: 
         | 
| 143 127 | 
             
            email: dave@davekrupinski.com
         | 
| 144 128 | 
             
            executables: []
         |