machinist_mongo 1.0.2 → 1.1.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/VERSION +1 -1
- data/lib/machinist/mongo_mapper.rb +12 -1
- data/lib/machinist/mongoid.rb +71 -0
- data/machinist_mongo.gemspec +6 -3
- data/spec/mongo_mapper_spec.rb +21 -1
- data/spec/mongoid_spec.rb +170 -0
- data/spec/spec_helper.rb +14 -0
- metadata +23 -9
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1.0 | 
| 1 | 
            +
            1.1.0
         | 
| @@ -9,6 +9,17 @@ rescue LoadError | |
| 9 9 | 
             
            end
         | 
| 10 10 |  | 
| 11 11 | 
             
            module Machinist
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              class Lathe
         | 
| 14 | 
            +
                def assign_attribute(key, value)
         | 
| 15 | 
            +
                  assigned_attributes[key.to_sym] = value
         | 
| 16 | 
            +
                  if @object.respond_to? "#{key}="
         | 
| 17 | 
            +
                    @object.send("#{key}=", value)
         | 
| 18 | 
            +
                  else
         | 
| 19 | 
            +
                    @object[key] = value
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 12 23 |  | 
| 13 24 | 
             
              class MongoMapperAdapter
         | 
| 14 25 | 
             
                def self.has_association?(object, attribute)
         | 
| @@ -69,4 +80,4 @@ end | |
| 69 80 | 
             
            MongoMapper::Document.append_extensions(Machinist::Blueprints::ClassMethods)
         | 
| 70 81 | 
             
            MongoMapper::Document.append_extensions(Machinist::MongoMapperExtensions::Document)
         | 
| 71 82 | 
             
            MongoMapper::EmbeddedDocument::ClassMethods.send(:include, Machinist::Blueprints::ClassMethods)
         | 
| 72 | 
            -
            MongoMapper::EmbeddedDocument::ClassMethods.send(:include, Machinist::MongoMapperExtensions::EmbeddedDocument)
         | 
| 83 | 
            +
            MongoMapper::EmbeddedDocument::ClassMethods.send(:include, Machinist::MongoMapperExtensions::EmbeddedDocument)
         | 
| @@ -0,0 +1,71 @@ | |
| 1 | 
            +
            require "machinist"
         | 
| 2 | 
            +
            require "machinist/blueprints"
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            begin
         | 
| 5 | 
            +
              require "mongoid"
         | 
| 6 | 
            +
            rescue LoadError
         | 
| 7 | 
            +
              puts "Mongoid is not installed (gem install mongoid)"
         | 
| 8 | 
            +
              exit
         | 
| 9 | 
            +
            end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            module Machinist
         | 
| 12 | 
            +
              class Lathe
         | 
| 13 | 
            +
                def assign_attribute(key, value)
         | 
| 14 | 
            +
                  assigned_attributes[key.to_sym] = value
         | 
| 15 | 
            +
                  @object.process(key => value)
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
              
         | 
| 19 | 
            +
              class MongoidAdapter
         | 
| 20 | 
            +
                class << self
         | 
| 21 | 
            +
                  def has_association?(object, attribute)
         | 
| 22 | 
            +
                    object.class.associations[attribute.to_s]
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
                  
         | 
| 25 | 
            +
                  def class_for_association(object, attribute)
         | 
| 26 | 
            +
                    association = object.class.associations[attribute.to_s]
         | 
| 27 | 
            +
                    association && association.klass
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  def assigned_attributes_without_associations(lathe)
         | 
| 31 | 
            +
                    attributes = {}
         | 
| 32 | 
            +
                    lathe.assigned_attributes.each_pair do |attribute, value|
         | 
| 33 | 
            +
                      association = lathe.object.class.associations[attribute.to_s]
         | 
| 34 | 
            +
                      if association && (association.macro == :belongs_to_related) && !value.nil?
         | 
| 35 | 
            +
                        attributes[association.foreign_key.to_sym] = value.id
         | 
| 36 | 
            +
                      else
         | 
| 37 | 
            +
                        attributes[attribute] = value
         | 
| 38 | 
            +
                      end
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
                    attributes        
         | 
| 41 | 
            +
                  end      
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
              
         | 
| 45 | 
            +
              module MongoidExtensions
         | 
| 46 | 
            +
                module Document
         | 
| 47 | 
            +
                  def make(*args, &block)
         | 
| 48 | 
            +
                    lathe = Lathe.run(Machinist::MongoidAdapter, self.new, *args)
         | 
| 49 | 
            +
                    unless Machinist.nerfed? || embedded
         | 
| 50 | 
            +
                      lathe.object.save!
         | 
| 51 | 
            +
                      lathe.object.reload
         | 
| 52 | 
            +
                    end
         | 
| 53 | 
            +
                    lathe.object(&block)
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
                  
         | 
| 56 | 
            +
                  def make_unsaved(*args)
         | 
| 57 | 
            +
                    returning(Machinist.with_save_nerfed { make(*args) }) do |object|
         | 
| 58 | 
            +
                      yield object if block_given?
         | 
| 59 | 
            +
                    end
         | 
| 60 | 
            +
                  end
         | 
| 61 | 
            +
                  
         | 
| 62 | 
            +
                  def plan(*args)
         | 
| 63 | 
            +
                    lathe = Lathe.run(Machinist::MongoidAdapter, self.new, *args)
         | 
| 64 | 
            +
                    Machinist::MongoidAdapter.assigned_attributes_without_associations(lathe)
         | 
| 65 | 
            +
                  end
         | 
| 66 | 
            +
                end
         | 
| 67 | 
            +
              end
         | 
| 68 | 
            +
            end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
            Mongoid::Document::ClassMethods.send(:include, Machinist::Blueprints::ClassMethods)
         | 
| 71 | 
            +
            Mongoid::Document::ClassMethods.send(:include, Machinist::MongoidExtensions::Document)
         | 
    
        data/machinist_mongo.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{machinist_mongo}
         | 
| 8 | 
            -
              s.version = "1.0 | 
| 8 | 
            +
              s.version = "1.1.0"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Nicolas M\303\251rouze", "Cyril Mougel"]
         | 
| 12 | 
            -
              s.date = %q{2010- | 
| 12 | 
            +
              s.date = %q{2010-03-31}
         | 
| 13 13 | 
             
              s.email = %q{nicolas.merouze@gmail.com}
         | 
| 14 14 | 
             
              s.extra_rdoc_files = [
         | 
| 15 15 | 
             
                "LICENSE",
         | 
| @@ -22,17 +22,20 @@ Gem::Specification.new do |s| | |
| 22 22 | 
             
                 "Rakefile",
         | 
| 23 23 | 
             
                 "VERSION",
         | 
| 24 24 | 
             
                 "lib/machinist/mongo_mapper.rb",
         | 
| 25 | 
            +
                 "lib/machinist/mongoid.rb",
         | 
| 25 26 | 
             
                 "machinist_mongo.gemspec",
         | 
| 26 27 | 
             
                 "spec/mongo_mapper_spec.rb",
         | 
| 28 | 
            +
                 "spec/mongoid_spec.rb",
         | 
| 27 29 | 
             
                 "spec/spec_helper.rb"
         | 
| 28 30 | 
             
              ]
         | 
| 29 31 | 
             
              s.homepage = %q{http://github.com/nmerouze/machinist_mongo}
         | 
| 30 32 | 
             
              s.rdoc_options = ["--charset=UTF-8"]
         | 
| 31 33 | 
             
              s.require_paths = ["lib"]
         | 
| 32 | 
            -
              s.rubygems_version = %q{1.3. | 
| 34 | 
            +
              s.rubygems_version = %q{1.3.6}
         | 
| 33 35 | 
             
              s.summary = %q{Machinist adapters for MongoDB ORMs}
         | 
| 34 36 | 
             
              s.test_files = [
         | 
| 35 37 | 
             
                "spec/mongo_mapper_spec.rb",
         | 
| 38 | 
            +
                 "spec/mongoid_spec.rb",
         | 
| 36 39 | 
             
                 "spec/spec_helper.rb"
         | 
| 37 40 | 
             
              ]
         | 
| 38 41 |  | 
    
        data/spec/mongo_mapper_spec.rb
    CHANGED
    
    | @@ -102,6 +102,20 @@ describe Machinist, "MongoMapper::Document adapter" do | |
| 102 102 | 
             
                  comment[:post].should be_nil
         | 
| 103 103 | 
             
                  comment[:post_id].should_not be_nil
         | 
| 104 104 | 
             
                end
         | 
| 105 | 
            +
             | 
| 106 | 
            +
                context "attribute assignment" do 
         | 
| 107 | 
            +
                  it "should allow assigning a value to an attribute" do
         | 
| 108 | 
            +
                    Post.blueprint { title "1234" }
         | 
| 109 | 
            +
                    post = Post.make
         | 
| 110 | 
            +
                    post.title.should == "1234"
         | 
| 111 | 
            +
                  end
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                  it "should allow arbitrary attributes on the base model in its blueprint" do
         | 
| 114 | 
            +
                    Post.blueprint { foo "bar" }
         | 
| 115 | 
            +
                    post = Post.make
         | 
| 116 | 
            +
                    post.foo.should == "bar"
         | 
| 117 | 
            +
                  end
         | 
| 118 | 
            +
                end
         | 
| 105 119 | 
             
              end
         | 
| 106 120 |  | 
| 107 121 | 
             
              describe "make_unsaved method" do
         | 
| @@ -152,6 +166,12 @@ describe Machinist, "MongoMapper::EmbeddedDocument adapter" do | |
| 152 166 | 
             
                  end
         | 
| 153 167 | 
             
                  Person.make.address.should be_instance_of(Address)
         | 
| 154 168 | 
             
                end
         | 
| 169 | 
            +
             | 
| 170 | 
            +
                it "should allow arbitrary attributes on the base model in its blueprint" do
         | 
| 171 | 
            +
                  Address.blueprint { foo "bar" }
         | 
| 172 | 
            +
                  addr = Address.make
         | 
| 173 | 
            +
                  addr.foo.should == "bar"
         | 
| 174 | 
            +
                end
         | 
| 155 175 | 
             
              end
         | 
| 156 176 |  | 
| 157 | 
            -
            end
         | 
| 177 | 
            +
            end
         | 
| @@ -0,0 +1,170 @@ | |
| 1 | 
            +
            require File.dirname(__FILE__) + "/spec_helper"
         | 
| 2 | 
            +
            require "machinist/mongoid"
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            Spec::Mongoid.configure!
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            class Address
         | 
| 7 | 
            +
              include Mongoid::Document
         | 
| 8 | 
            +
              
         | 
| 9 | 
            +
              field :street
         | 
| 10 | 
            +
              field :zip
         | 
| 11 | 
            +
              field :country
         | 
| 12 | 
            +
              belongs_to :person, :inverse_of => :address
         | 
| 13 | 
            +
            end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            class Person
         | 
| 16 | 
            +
              include Mongoid::Document
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              field :name
         | 
| 19 | 
            +
              field :type
         | 
| 20 | 
            +
              field :password
         | 
| 21 | 
            +
              field :admin, :type => Boolean, :default => false
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              has_one :address
         | 
| 24 | 
            +
            end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            class Post
         | 
| 27 | 
            +
              include Mongoid::Document
         | 
| 28 | 
            +
              
         | 
| 29 | 
            +
              field :title
         | 
| 30 | 
            +
              field :body
         | 
| 31 | 
            +
              field :published, :type => Boolean, :default => true
         | 
| 32 | 
            +
              
         | 
| 33 | 
            +
              has_many_related :comments
         | 
| 34 | 
            +
            end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            class Comment
         | 
| 37 | 
            +
              include Mongoid::Document
         | 
| 38 | 
            +
              
         | 
| 39 | 
            +
              field :body
         | 
| 40 | 
            +
              field :post_id
         | 
| 41 | 
            +
              field :author_id
         | 
| 42 | 
            +
              
         | 
| 43 | 
            +
              belongs_to_related :post
         | 
| 44 | 
            +
              belongs_to_related :author, :class_name => "Person"
         | 
| 45 | 
            +
            end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
            describe Machinist, "Mongoid::Document adapter" do 
         | 
| 48 | 
            +
             | 
| 49 | 
            +
              before(:each) do
         | 
| 50 | 
            +
                Person.clear_blueprints!
         | 
| 51 | 
            +
                Post.clear_blueprints!
         | 
| 52 | 
            +
                Comment.clear_blueprints!
         | 
| 53 | 
            +
              end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
              describe "make method" do
         | 
| 56 | 
            +
                it "should save the constructed object" do
         | 
| 57 | 
            +
                  Person.blueprint { }
         | 
| 58 | 
            +
                  person = Person.make
         | 
| 59 | 
            +
                  person.should_not be_new_record
         | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
                
         | 
| 62 | 
            +
                it "should create an object through belongs_to association" do
         | 
| 63 | 
            +
                  Post.blueprint { }
         | 
| 64 | 
            +
                  Comment.blueprint { post }
         | 
| 65 | 
            +
                  Comment.make.post.class.should == Post
         | 
| 66 | 
            +
                end
         | 
| 67 | 
            +
                  
         | 
| 68 | 
            +
                it "should create an object through belongs_to association with a class_name attribute" do
         | 
| 69 | 
            +
                  Person.blueprint { }
         | 
| 70 | 
            +
                  Comment.blueprint { author }
         | 
| 71 | 
            +
                  Comment.make.author.class.should == Person
         | 
| 72 | 
            +
                end
         | 
| 73 | 
            +
                
         | 
| 74 | 
            +
                it "should create an object through belongs_to association using a named blueprint" do
         | 
| 75 | 
            +
                  Post.blueprint { }
         | 
| 76 | 
            +
                  Post.blueprint(:dummy) do
         | 
| 77 | 
            +
                    title { 'Dummy Post' }
         | 
| 78 | 
            +
                  end
         | 
| 79 | 
            +
                  Comment.blueprint { post(:dummy) }
         | 
| 80 | 
            +
                  Comment.make.post.title.should == 'Dummy Post'
         | 
| 81 | 
            +
                end
         | 
| 82 | 
            +
              end
         | 
| 83 | 
            +
              
         | 
| 84 | 
            +
              describe "plan method" do
         | 
| 85 | 
            +
                it "should not save the constructed object" do
         | 
| 86 | 
            +
                  person_count = Person.count
         | 
| 87 | 
            +
                  Person.blueprint { }
         | 
| 88 | 
            +
                  person = Person.plan
         | 
| 89 | 
            +
                  Person.count.should == person_count
         | 
| 90 | 
            +
                end
         | 
| 91 | 
            +
                
         | 
| 92 | 
            +
                it "should return a regular attribute in the hash" do
         | 
| 93 | 
            +
                  Post.blueprint { title "Test" }
         | 
| 94 | 
            +
                  post = Post.plan
         | 
| 95 | 
            +
                  post[:title].should == "Test"
         | 
| 96 | 
            +
                end
         | 
| 97 | 
            +
                
         | 
| 98 | 
            +
                it "should create an object through a belongs_to association, and return its id" do
         | 
| 99 | 
            +
                  Post.blueprint { }
         | 
| 100 | 
            +
                  Comment.blueprint { post }
         | 
| 101 | 
            +
                  post_count = Post.count
         | 
| 102 | 
            +
                  comment = Comment.plan
         | 
| 103 | 
            +
                  Post.count.should == post_count + 1
         | 
| 104 | 
            +
                  comment[:post].should be_nil
         | 
| 105 | 
            +
                  comment[:post_id].should_not be_nil
         | 
| 106 | 
            +
                end
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                context "attribute assignment" do 
         | 
| 109 | 
            +
                  it "should allow assigning a value to an attribute" do
         | 
| 110 | 
            +
                    Post.blueprint { title "1234" }
         | 
| 111 | 
            +
                    post = Post.make
         | 
| 112 | 
            +
                    post.title.should == "1234"
         | 
| 113 | 
            +
                  end
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                  it "should allow arbitrary attributes on the base model in its blueprint" do
         | 
| 116 | 
            +
                    Post.blueprint { foo "bar" }
         | 
| 117 | 
            +
                    post = Post.make
         | 
| 118 | 
            +
                    post.foo.should == "bar"
         | 
| 119 | 
            +
                  end
         | 
| 120 | 
            +
                end
         | 
| 121 | 
            +
              end
         | 
| 122 | 
            +
              
         | 
| 123 | 
            +
              describe "make_unsaved method" do
         | 
| 124 | 
            +
                it "should not save the constructed object" do
         | 
| 125 | 
            +
                  Person.blueprint { }
         | 
| 126 | 
            +
                  person = Person.make_unsaved
         | 
| 127 | 
            +
                  person.should be_new_record
         | 
| 128 | 
            +
                end
         | 
| 129 | 
            +
                
         | 
| 130 | 
            +
                it "should not save associated objects" do
         | 
| 131 | 
            +
                  pending
         | 
| 132 | 
            +
                  # Post.blueprint { }
         | 
| 133 | 
            +
                  # Comment.blueprint { post }
         | 
| 134 | 
            +
                  # comment = Comment.make_unsaved
         | 
| 135 | 
            +
                  # comment.post.should be_new_record
         | 
| 136 | 
            +
                end
         | 
| 137 | 
            +
                
         | 
| 138 | 
            +
                it "should save objects made within a passed-in block" do
         | 
| 139 | 
            +
                  Post.blueprint { }
         | 
| 140 | 
            +
                  Comment.blueprint { }
         | 
| 141 | 
            +
                  comment = nil
         | 
| 142 | 
            +
                  post = Post.make_unsaved { comment = Comment.make }
         | 
| 143 | 
            +
                  post.should be_new_record
         | 
| 144 | 
            +
                  comment.should_not be_new_record
         | 
| 145 | 
            +
                end
         | 
| 146 | 
            +
              end
         | 
| 147 | 
            +
              
         | 
| 148 | 
            +
              describe "make method with embedded documents" do
         | 
| 149 | 
            +
                it "should construct object" do
         | 
| 150 | 
            +
                  Address.blueprint { }
         | 
| 151 | 
            +
                  address = Address.make
         | 
| 152 | 
            +
                  address.should be_instance_of(Address)
         | 
| 153 | 
            +
                end
         | 
| 154 | 
            +
             | 
| 155 | 
            +
                it "should make an embed object" do
         | 
| 156 | 
            +
                  Address.blueprint { }
         | 
| 157 | 
            +
                  Person.blueprint do
         | 
| 158 | 
            +
                    address { Address.make }
         | 
| 159 | 
            +
                  end
         | 
| 160 | 
            +
                  Person.make.address.should be_instance_of(Address)
         | 
| 161 | 
            +
                end
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                it "should allow arbitrary attributes on the base model in its blueprint" do
         | 
| 164 | 
            +
                  Address.blueprint { foo "bar" }
         | 
| 165 | 
            +
                  addr = Address.make
         | 
| 166 | 
            +
                  addr.foo.should == "bar"
         | 
| 167 | 
            +
                end
         | 
| 168 | 
            +
              end
         | 
| 169 | 
            +
              
         | 
| 170 | 
            +
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -14,4 +14,18 @@ module Spec | |
| 14 14 | 
             
                  end
         | 
| 15 15 | 
             
                end
         | 
| 16 16 | 
             
              end
         | 
| 17 | 
            +
              
         | 
| 18 | 
            +
              module Mongoid
         | 
| 19 | 
            +
                def self.configure!
         | 
| 20 | 
            +
                  ::Mongoid.configure do |config|
         | 
| 21 | 
            +
                    config.master = Mongo::Connection.new.db("machinist_mongoid")
         | 
| 22 | 
            +
                    config.allow_dynamic_fields = true
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
                  
         | 
| 25 | 
            +
                  Spec::Runner.configure do |config|
         | 
| 26 | 
            +
                    config.before(:each) { Sham.reset }
         | 
| 27 | 
            +
                    config.after(:all)   { ::Mongoid.master.collections.each { |c| c.remove } }
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                end
         | 
| 30 | 
            +
              end
         | 
| 17 31 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,12 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: machinist_mongo
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
               | 
| 4 | 
            +
              prerelease: false
         | 
| 5 | 
            +
              segments: 
         | 
| 6 | 
            +
              - 1
         | 
| 7 | 
            +
              - 1
         | 
| 8 | 
            +
              - 0
         | 
| 9 | 
            +
              version: 1.1.0
         | 
| 5 10 | 
             
            platform: ruby
         | 
| 6 11 | 
             
            authors: 
         | 
| 7 12 | 
             
            - "Nicolas M\xC3\xA9rouze"
         | 
| @@ -10,19 +15,23 @@ autorequire: | |
| 10 15 | 
             
            bindir: bin
         | 
| 11 16 | 
             
            cert_chain: []
         | 
| 12 17 |  | 
| 13 | 
            -
            date: 2010- | 
| 18 | 
            +
            date: 2010-03-31 00:00:00 +02:00
         | 
| 14 19 | 
             
            default_executable: 
         | 
| 15 20 | 
             
            dependencies: 
         | 
| 16 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 17 22 | 
             
              name: machinist
         | 
| 18 | 
            -
               | 
| 19 | 
            -
               | 
| 20 | 
            -
              version_requirements: !ruby/object:Gem::Requirement 
         | 
| 23 | 
            +
              prerelease: false
         | 
| 24 | 
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 21 25 | 
             
                requirements: 
         | 
| 22 26 | 
             
                - - ~>
         | 
| 23 27 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 28 | 
            +
                    segments: 
         | 
| 29 | 
            +
                    - 1
         | 
| 30 | 
            +
                    - 0
         | 
| 31 | 
            +
                    - 4
         | 
| 24 32 | 
             
                    version: 1.0.4
         | 
| 25 | 
            -
             | 
| 33 | 
            +
              type: :runtime
         | 
| 34 | 
            +
              version_requirements: *id001
         | 
| 26 35 | 
             
            description: 
         | 
| 27 36 | 
             
            email: nicolas.merouze@gmail.com
         | 
| 28 37 | 
             
            executables: []
         | 
| @@ -39,8 +48,10 @@ files: | |
| 39 48 | 
             
            - Rakefile
         | 
| 40 49 | 
             
            - VERSION
         | 
| 41 50 | 
             
            - lib/machinist/mongo_mapper.rb
         | 
| 51 | 
            +
            - lib/machinist/mongoid.rb
         | 
| 42 52 | 
             
            - machinist_mongo.gemspec
         | 
| 43 53 | 
             
            - spec/mongo_mapper_spec.rb
         | 
| 54 | 
            +
            - spec/mongoid_spec.rb
         | 
| 44 55 | 
             
            - spec/spec_helper.rb
         | 
| 45 56 | 
             
            has_rdoc: true
         | 
| 46 57 | 
             
            homepage: http://github.com/nmerouze/machinist_mongo
         | 
| @@ -55,21 +66,24 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 55 66 | 
             
              requirements: 
         | 
| 56 67 | 
             
              - - ">="
         | 
| 57 68 | 
             
                - !ruby/object:Gem::Version 
         | 
| 69 | 
            +
                  segments: 
         | 
| 70 | 
            +
                  - 0
         | 
| 58 71 | 
             
                  version: "0"
         | 
| 59 | 
            -
              version: 
         | 
| 60 72 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 61 73 | 
             
              requirements: 
         | 
| 62 74 | 
             
              - - ">="
         | 
| 63 75 | 
             
                - !ruby/object:Gem::Version 
         | 
| 76 | 
            +
                  segments: 
         | 
| 77 | 
            +
                  - 0
         | 
| 64 78 | 
             
                  version: "0"
         | 
| 65 | 
            -
              version: 
         | 
| 66 79 | 
             
            requirements: []
         | 
| 67 80 |  | 
| 68 81 | 
             
            rubyforge_project: 
         | 
| 69 | 
            -
            rubygems_version: 1.3. | 
| 82 | 
            +
            rubygems_version: 1.3.6
         | 
| 70 83 | 
             
            signing_key: 
         | 
| 71 84 | 
             
            specification_version: 3
         | 
| 72 85 | 
             
            summary: Machinist adapters for MongoDB ORMs
         | 
| 73 86 | 
             
            test_files: 
         | 
| 74 87 | 
             
            - spec/mongo_mapper_spec.rb
         | 
| 88 | 
            +
            - spec/mongoid_spec.rb
         | 
| 75 89 | 
             
            - spec/spec_helper.rb
         |