active_hash 0.10.0 → 1.0.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.
- data/CHANGELOG +3 -0
 - data/lib/active_hash/base.rb +9 -1
 - data/lib/active_hash/version.rb +1 -1
 - data/spec/active_hash/base_spec.rb +10 -0
 - metadata +2 -2
 
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/lib/active_hash/base.rb
    CHANGED
    
    | 
         @@ -67,6 +67,12 @@ module ActiveHash 
     | 
|
| 
       67 
67 
     | 
    
         
             
                    end
         
     | 
| 
       68 
68 
     | 
    
         
             
                  end
         
     | 
| 
       69 
69 
     | 
    
         | 
| 
      
 70 
     | 
    
         
            +
                  def exists?(record)
         
     | 
| 
      
 71 
     | 
    
         
            +
                    if record.id.present?
         
     | 
| 
      
 72 
     | 
    
         
            +
                      record_index[record.id.to_s].present?
         
     | 
| 
      
 73 
     | 
    
         
            +
                    end
         
     | 
| 
      
 74 
     | 
    
         
            +
                  end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
       70 
76 
     | 
    
         
             
                  def insert(record)
         
     | 
| 
       71 
77 
     | 
    
         
             
                    @records ||= []
         
     | 
| 
       72 
78 
     | 
    
         
             
                    record.attributes[:id] ||= next_id
         
     | 
| 
         @@ -444,7 +450,9 @@ module ActiveHash 
     | 
|
| 
       444 
450 
     | 
    
         
             
                end
         
     | 
| 
       445 
451 
     | 
    
         | 
| 
       446 
452 
     | 
    
         
             
                def save(*args)
         
     | 
| 
       447 
     | 
    
         
            -
                  self.class. 
     | 
| 
      
 453 
     | 
    
         
            +
                  unless self.class.exists?(self)
         
     | 
| 
      
 454 
     | 
    
         
            +
                    self.class.insert(self)
         
     | 
| 
      
 455 
     | 
    
         
            +
                  end
         
     | 
| 
       448 
456 
     | 
    
         
             
                  true
         
     | 
| 
       449 
457 
     | 
    
         
             
                end
         
     | 
| 
       450 
458 
     | 
    
         | 
    
        data/lib/active_hash/version.rb
    CHANGED
    
    
| 
         @@ -898,6 +898,16 @@ describe ActiveHash, "Base" do 
     | 
|
| 
       898 
898 
     | 
    
         
             
                  Country.dirty.should be_true
         
     | 
| 
       899 
899 
     | 
    
         
             
                end
         
     | 
| 
       900 
900 
     | 
    
         | 
| 
      
 901 
     | 
    
         
            +
                it "it is a no-op if the object has already been added to the collection" do
         
     | 
| 
      
 902 
     | 
    
         
            +
                  Country.all.should be_empty
         
     | 
| 
      
 903 
     | 
    
         
            +
                  country = Country.new :id => 1, :name => "foo"
         
     | 
| 
      
 904 
     | 
    
         
            +
                  country.save
         
     | 
| 
      
 905 
     | 
    
         
            +
                  country.name = "bar"
         
     | 
| 
      
 906 
     | 
    
         
            +
                  country.save
         
     | 
| 
      
 907 
     | 
    
         
            +
                  country.save!
         
     | 
| 
      
 908 
     | 
    
         
            +
                  Country.all.should == [country]
         
     | 
| 
      
 909 
     | 
    
         
            +
                end
         
     | 
| 
      
 910 
     | 
    
         
            +
             
     | 
| 
       901 
911 
     | 
    
         
             
              end
         
     | 
| 
       902 
912 
     | 
    
         | 
| 
       903 
913 
     | 
    
         
             
              describe ".create" do
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: active_hash
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.0
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -152,7 +152,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       152 
152 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       153 
153 
     | 
    
         
             
                  segments:
         
     | 
| 
       154 
154 
     | 
    
         
             
                  - 0
         
     | 
| 
       155 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 155 
     | 
    
         
            +
                  hash: -1921449152937241746
         
     | 
| 
       156 
156 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       157 
157 
     | 
    
         
             
              none: false
         
     | 
| 
       158 
158 
     | 
    
         
             
              requirements:
         
     |