packed-model 0.1.3 → 0.1.4
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.
- data/VERSION +1 -1
- data/lib/packed_model/base.rb +2 -1
- data/packed-model.gemspec +1 -1
- data/spec/packed_model/base_spec.rb +7 -0
- metadata +2 -2
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.1. | 
| 1 | 
            +
            0.1.4
         | 
    
        data/lib/packed_model/base.rb
    CHANGED
    
    | @@ -171,6 +171,7 @@ module PackedModel | |
| 171 171 |  | 
| 172 172 | 
             
                  fields.each_with_index do |fld, idx|
         | 
| 173 173 | 
             
                    mask = 1 << idx
         | 
| 174 | 
            +
                    neg_mask = 0xFFFFFFFF ^ mask
         | 
| 174 175 |  | 
| 175 176 | 
             
                    define_method fld do
         | 
| 176 177 | 
             
                      (self.send(name) & mask) == mask
         | 
| @@ -180,7 +181,7 @@ module PackedModel | |
| 180 181 | 
             
                      if val
         | 
| 181 182 | 
             
                        self.send(name_equals, self.send(name) | mask)
         | 
| 182 183 | 
             
                      else
         | 
| 183 | 
            -
                        self.send(name_equals, self.send(name)  | 
| 184 | 
            +
                        self.send(name_equals, self.send(name) & neg_mask)
         | 
| 184 185 | 
             
                      end
         | 
| 185 186 | 
             
                    end
         | 
| 186 187 | 
             
                  end
         | 
    
        data/packed-model.gemspec
    CHANGED
    
    
| @@ -267,5 +267,12 @@ describe PackedModel::Base do | |
| 267 267 | 
             
                    m.send("bit#{n}").should be_true
         | 
| 268 268 | 
             
                  end
         | 
| 269 269 | 
             
                end
         | 
| 270 | 
            +
             | 
| 271 | 
            +
                it "should not break on ||= false" do
         | 
| 272 | 
            +
                  m = TestBitVectorPackedModel.new
         | 
| 273 | 
            +
                  m.bit1.should be_false
         | 
| 274 | 
            +
                  m.bit1 ||= false
         | 
| 275 | 
            +
                  m.bit1.should be_false
         | 
| 276 | 
            +
                end
         | 
| 270 277 | 
             
              end
         | 
| 271 278 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: packed-model
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.4
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -83,7 +83,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 83 83 | 
             
                  version: '0'
         | 
| 84 84 | 
             
                  segments:
         | 
| 85 85 | 
             
                  - 0
         | 
| 86 | 
            -
                  hash:  | 
| 86 | 
            +
                  hash: 4377048112716490985
         | 
| 87 87 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 88 88 | 
             
              none: false
         | 
| 89 89 | 
             
              requirements:
         |