djsun-mongo_mapper 0.5.5.2 → 0.5.5.3
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
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.5.
|
1
|
+
0.5.5.3
|
data/djsun-mongo_mapper.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{djsun-mongo_mapper}
|
8
|
-
s.version = "0.5.5.
|
8
|
+
s.version = "0.5.5.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["John Nunemaker"]
|
12
|
-
s.date = %q{2009-10-
|
12
|
+
s.date = %q{2009-10-19}
|
13
13
|
s.default_executable = %q{mmconsole}
|
14
14
|
s.email = %q{nunemaker@gmail.com}
|
15
15
|
s.executables = ["mmconsole"]
|
@@ -270,7 +270,12 @@ module MongoMapper
|
|
270
270
|
end
|
271
271
|
|
272
272
|
def ==(other)
|
273
|
-
|
273
|
+
ignore = { '_id' => nil }
|
274
|
+
attributes.merge(ignore) == other.attributes.merge(ignore)
|
275
|
+
end
|
276
|
+
|
277
|
+
def eql?(other)
|
278
|
+
other.is_a?(self.class) && (self == other)
|
274
279
|
end
|
275
280
|
|
276
281
|
def id
|
data/test/unit/test_document.rb
CHANGED
@@ -160,24 +160,62 @@ class DocumentTest < Test::Unit::TestCase
|
|
160
160
|
clone.age.should == 27
|
161
161
|
end
|
162
162
|
end
|
163
|
-
|
164
163
|
|
165
|
-
context "
|
166
|
-
should "be
|
167
|
-
|
164
|
+
context "==" do
|
165
|
+
should "be == if key values are the same" do
|
166
|
+
doc_1 = @document.new('name' => "Doc 1")
|
167
|
+
doc_2 = @document.new('name' => "Doc 1")
|
168
|
+
doc_1.should == doc_2
|
169
|
+
doc_2.should == doc_1 # check transitivity
|
168
170
|
end
|
169
171
|
|
170
|
-
should "not be
|
171
|
-
|
172
|
+
should "not be == if key values are different" do
|
173
|
+
doc_1 = @document.new('name' => "Doc 1")
|
174
|
+
doc_2 = @document.new('name' => "Doc 2")
|
175
|
+
doc_1.should_not == doc_2
|
176
|
+
doc_2.should_not == doc_1 # check transitivity
|
172
177
|
end
|
173
178
|
|
174
|
-
should "not
|
175
|
-
@
|
176
|
-
include MongoMapper::
|
177
|
-
|
179
|
+
should "not care about type" do
|
180
|
+
@person = Class.new do
|
181
|
+
include MongoMapper::EmbeddedDocument
|
182
|
+
|
183
|
+
key :name, String
|
184
|
+
key :age, Integer
|
178
185
|
end
|
186
|
+
doc = @document.new('name' => "Doc 1")
|
187
|
+
person = @person.new('name' => "Doc 1")
|
188
|
+
doc.should == person
|
189
|
+
person.should == doc # check transitivity
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
context "eql?" do
|
194
|
+
should "be eql? if type matches and key values are the same" do
|
195
|
+
doc_1 = @document.new('name' => "Doc 1")
|
196
|
+
doc_2 = @document.new('name' => "Doc 1")
|
197
|
+
doc_1.should eql?(doc_2)
|
198
|
+
doc_2.should eql?(doc_1) # check transitivity
|
199
|
+
end
|
200
|
+
|
201
|
+
should "not be == if type matches but key values are different" do
|
202
|
+
doc_1 = @document.new('name' => "Doc 1")
|
203
|
+
doc_2 = @document.new('name' => "Doc 2")
|
204
|
+
doc_1.should_not eql?(doc_2)
|
205
|
+
doc_2.should_not eql?(doc_1) # check transitivity
|
206
|
+
end
|
179
207
|
|
180
|
-
|
208
|
+
should "not be eql? if types are different even if values are the same" do
|
209
|
+
@person = Class.new do
|
210
|
+
include MongoMapper::EmbeddedDocument
|
211
|
+
|
212
|
+
key :name, String
|
213
|
+
key :age, Integer
|
214
|
+
end
|
215
|
+
doc = @document.new('name' => "Doc 1")
|
216
|
+
person = @person.new('name' => "Doc 1")
|
217
|
+
doc.should_not eql?(person)
|
218
|
+
person.should_not eql?(doc) # check transitivity
|
181
219
|
end
|
182
220
|
end
|
183
221
|
end # instance of a document
|
@@ -644,22 +644,63 @@ class EmbeddedDocumentTest < Test::Unit::TestCase
|
|
644
644
|
end
|
645
645
|
end
|
646
646
|
|
647
|
-
context "
|
648
|
-
should "be
|
649
|
-
|
647
|
+
context "==" do
|
648
|
+
should "be == if key values are the same" do
|
649
|
+
doc_1 = @document.new('name' => "Doc 1")
|
650
|
+
doc_2 = @document.new('name' => "Doc 1")
|
651
|
+
doc_1.should == doc_2
|
652
|
+
doc_2.should == doc_1 # check transitivity
|
650
653
|
end
|
651
654
|
|
652
|
-
should "not be
|
653
|
-
|
655
|
+
should "not be == if key values are different" do
|
656
|
+
doc_1 = @document.new('name' => "Doc 1")
|
657
|
+
doc_2 = @document.new('name' => "Doc 2")
|
658
|
+
doc_1.should_not == doc_2
|
659
|
+
doc_2.should_not == doc_1 # check transitivity
|
654
660
|
end
|
655
661
|
|
656
|
-
should "not
|
657
|
-
@
|
658
|
-
include MongoMapper::
|
662
|
+
should "not care about type" do
|
663
|
+
@person = Class.new do
|
664
|
+
include MongoMapper::EmbeddedDocument
|
665
|
+
|
666
|
+
key :name, String
|
667
|
+
key :age, Integer
|
659
668
|
end
|
669
|
+
doc = @document.new('name' => "Doc 1")
|
670
|
+
person = @person.new('name' => "Doc 1")
|
671
|
+
doc.should == person
|
672
|
+
person.should == doc # check transitivity
|
673
|
+
end
|
674
|
+
end
|
675
|
+
|
676
|
+
context "eql?" do
|
677
|
+
should "be eql? if type matches and key values are the same" do
|
678
|
+
doc_1 = @document.new('name' => "Doc 1")
|
679
|
+
doc_2 = @document.new('name' => "Doc 1")
|
680
|
+
doc_1.should eql?(doc_2)
|
681
|
+
doc_2.should eql?(doc_1) # check transitivity
|
682
|
+
end
|
660
683
|
|
661
|
-
|
684
|
+
should "not be == if type matches but key values are different" do
|
685
|
+
doc_1 = @document.new('name' => "Doc 1")
|
686
|
+
doc_2 = @document.new('name' => "Doc 2")
|
687
|
+
doc_1.should_not eql?(doc_2)
|
688
|
+
doc_2.should_not eql?(doc_1) # check transitivity
|
689
|
+
end
|
690
|
+
|
691
|
+
should "not be eql? if types are different even if values are the same" do
|
692
|
+
@person = Class.new do
|
693
|
+
include MongoMapper::EmbeddedDocument
|
694
|
+
|
695
|
+
key :name, String
|
696
|
+
key :age, Integer
|
697
|
+
end
|
698
|
+
doc = @document.new('name' => "Doc 1")
|
699
|
+
person = @person.new('name' => "Doc 1")
|
700
|
+
doc.should_not eql?(person)
|
701
|
+
person.should_not eql?(doc) # check transitivity
|
662
702
|
end
|
663
703
|
end
|
704
|
+
|
664
705
|
end # instance of a embedded document
|
665
706
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: djsun-mongo_mapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.5.
|
4
|
+
version: 0.5.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Nunemaker
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-19 00:00:00 -04:00
|
13
13
|
default_executable: mmconsole
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|