mongo_mapper 0.6.8 → 0.6.9

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.
Files changed (44) hide show
  1. data/README.rdoc +2 -17
  2. data/Rakefile +1 -1
  3. data/VERSION +1 -1
  4. data/lib/mongo_mapper/associations/base.rb +19 -10
  5. data/lib/mongo_mapper/associations/in_array_proxy.rb +137 -0
  6. data/lib/mongo_mapper/associations/one_proxy.rb +61 -0
  7. data/lib/mongo_mapper/associations/proxy.rb +0 -2
  8. data/lib/mongo_mapper/associations.rb +5 -3
  9. data/lib/mongo_mapper/callbacks.rb +30 -78
  10. data/lib/mongo_mapper/dirty.rb +5 -24
  11. data/lib/mongo_mapper/document.rb +117 -144
  12. data/lib/mongo_mapper/embedded_document.rb +7 -11
  13. data/lib/mongo_mapper/finder_options.rb +42 -30
  14. data/lib/mongo_mapper/mongo_mapper.rb +125 -0
  15. data/lib/mongo_mapper/pagination.rb +12 -1
  16. data/lib/mongo_mapper/rails_compatibility/embedded_document.rb +1 -0
  17. data/lib/mongo_mapper/serialization.rb +2 -2
  18. data/lib/mongo_mapper/serializers/json_serializer.rb +2 -46
  19. data/lib/mongo_mapper/support.rb +5 -2
  20. data/lib/mongo_mapper/validations.rb +1 -3
  21. data/lib/mongo_mapper.rb +8 -2
  22. data/mongo_mapper.gemspec +14 -8
  23. data/specs.watchr +3 -5
  24. data/test/functional/associations/test_belongs_to_proxy.rb +43 -0
  25. data/test/functional/associations/test_in_array_proxy.rb +309 -0
  26. data/test/functional/associations/test_many_documents_proxy.rb +103 -53
  27. data/test/functional/associations/test_many_polymorphic_proxy.rb +4 -3
  28. data/test/functional/associations/test_one_proxy.rb +131 -0
  29. data/test/functional/test_binary.rb +15 -0
  30. data/test/functional/test_document.rb +581 -631
  31. data/test/functional/test_modifiers.rb +242 -0
  32. data/test/functional/test_validations.rb +0 -17
  33. data/test/models.rb +1 -1
  34. data/test/support/timing.rb +1 -1
  35. data/test/unit/associations/test_base.rb +54 -13
  36. data/test/unit/test_document.rb +32 -0
  37. data/test/unit/test_embedded_document.rb +0 -9
  38. data/test/unit/test_finder_options.rb +36 -7
  39. data/test/unit/test_pagination.rb +6 -0
  40. data/test/unit/test_rails_compatibility.rb +4 -1
  41. data/test/unit/test_support.rb +4 -0
  42. metadata +12 -6
  43. data/lib/mongo_mapper/observing.rb +0 -50
  44. data/test/unit/test_observing.rb +0 -101
@@ -0,0 +1,242 @@
1
+ require 'test_helper'
2
+
3
+ class ModifierTest < Test::Unit::TestCase
4
+ def setup
5
+ @page_class = Class.new do
6
+ include MongoMapper::Document
7
+
8
+ key :title, String
9
+ key :day_count, Integer, :default => 0
10
+ key :week_count, Integer, :default => 0
11
+ key :month_count, Integer, :default => 0
12
+ key :tags, Array
13
+ end
14
+
15
+ @page_class.collection.remove
16
+ end
17
+
18
+ def assert_page_counts(page, day_count, week_count, month_count)
19
+ page.reload
20
+ page.day_count.should == day_count
21
+ page.week_count.should == week_count
22
+ page.month_count.should == month_count
23
+ end
24
+
25
+ should "be able to increment with criteria and modifier hashes" do
26
+ page = @page_class.create(:title => 'Home')
27
+ page2 = @page_class.create(:title => 'Home')
28
+
29
+ @page_class.increment({:title => 'Home'}, {
30
+ :day_count => 1, :week_count => 2, :month_count => 3
31
+ })
32
+
33
+ assert_page_counts page, 1, 2, 3
34
+ assert_page_counts page2, 1, 2, 3
35
+ end
36
+
37
+ should "be able to increment with ids and modifier hash" do
38
+ page = @page_class.create(:title => 'Home')
39
+ page2 = @page_class.create(:title => 'Home')
40
+
41
+ @page_class.increment(page.id, page2.id, {
42
+ :day_count => 1, :week_count => 2, :month_count => 3
43
+ })
44
+
45
+ assert_page_counts page, 1, 2, 3
46
+ assert_page_counts page2, 1, 2, 3
47
+ end
48
+
49
+ should "be able to decrement with criteria and modifier hashes" do
50
+ page = @page_class.create(:title => 'Home', :day_count => 1, :week_count => 2, :month_count => 3)
51
+ page2 = @page_class.create(:title => 'Home', :day_count => 1, :week_count => 2, :month_count => 3)
52
+
53
+ @page_class.decrement({:title => 'Home'}, {
54
+ :day_count => 1, :week_count => 2, :month_count => 3
55
+ })
56
+
57
+ assert_page_counts page, 0, 0, 0
58
+ assert_page_counts page2, 0, 0, 0
59
+ end
60
+
61
+ should "be able to decrement with ids and modifier hash" do
62
+ page = @page_class.create(:title => 'Home', :day_count => 1, :week_count => 2, :month_count => 3)
63
+ page2 = @page_class.create(:title => 'Home', :day_count => 1, :week_count => 2, :month_count => 3)
64
+
65
+ @page_class.decrement(page.id, page2.id, {
66
+ :day_count => 1, :week_count => 2, :month_count => 3
67
+ })
68
+
69
+ assert_page_counts page, 0, 0, 0
70
+ assert_page_counts page2, 0, 0, 0
71
+ end
72
+
73
+ should "always decrement when decrement is called whether number is positive or negative" do
74
+ page = @page_class.create(:title => 'Home', :day_count => 1, :week_count => 2, :month_count => 3)
75
+ page2 = @page_class.create(:title => 'Home', :day_count => 1, :week_count => 2, :month_count => 3)
76
+
77
+ @page_class.decrement(page.id, page2.id, {
78
+ :day_count => -1, :week_count => 2, :month_count => -3
79
+ })
80
+
81
+ assert_page_counts page, 0, 0, 0
82
+ assert_page_counts page2, 0, 0, 0
83
+ end
84
+
85
+ should "be able to set with criteria and modifier hashes" do
86
+ page = @page_class.create(:title => 'Home')
87
+ page2 = @page_class.create(:title => 'Home')
88
+
89
+ @page_class.set({:title => 'Home'}, :title => 'Home Revised')
90
+
91
+ page.reload
92
+ page.title.should == 'Home Revised'
93
+
94
+ page2.reload
95
+ page2.title.should == 'Home Revised'
96
+ end
97
+
98
+ should "be able to set with ids and modifier hash" do
99
+ page = @page_class.create(:title => 'Home')
100
+ page2 = @page_class.create(:title => 'Home')
101
+
102
+ @page_class.set(page.id, page2.id, :title => 'Home Revised')
103
+
104
+ page.reload
105
+ page.title.should == 'Home Revised'
106
+
107
+ page2.reload
108
+ page2.title.should == 'Home Revised'
109
+ end
110
+
111
+ should "be able to push with criteria and modifier hashes" do
112
+ page = @page_class.create(:title => 'Home')
113
+ page2 = @page_class.create(:title => 'Home')
114
+
115
+ @page_class.push({:title => 'Home'}, :tags => 'foo')
116
+
117
+ page.reload
118
+ page.tags.should == %w(foo)
119
+
120
+ page2.reload
121
+ page.tags.should == %w(foo)
122
+ end
123
+
124
+ should "be able to push with ids and modifier hash" do
125
+ page = @page_class.create(:title => 'Home')
126
+ page2 = @page_class.create(:title => 'Home')
127
+
128
+ @page_class.push(page.id, page2.id, :tags => 'foo')
129
+
130
+ page.reload
131
+ page.tags.should == %w(foo)
132
+
133
+ page2.reload
134
+ page.tags.should == %w(foo)
135
+ end
136
+
137
+ should "be able to push all with criteria and modifier hashes" do
138
+ page = @page_class.create(:title => 'Home')
139
+ page2 = @page_class.create(:title => 'Home')
140
+ tags = %w(foo bar)
141
+
142
+ @page_class.push_all({:title => 'Home'}, :tags => tags)
143
+
144
+ page.reload
145
+ page.tags.should == tags
146
+
147
+ page2.reload
148
+ page.tags.should == tags
149
+ end
150
+
151
+ should "be able to push all with ids and modifier hash" do
152
+ page = @page_class.create(:title => 'Home')
153
+ page2 = @page_class.create(:title => 'Home')
154
+ tags = %w(foo bar)
155
+
156
+ @page_class.push_all(page.id, page2.id, :tags => tags)
157
+
158
+ page.reload
159
+ page.tags.should == tags
160
+
161
+ page2.reload
162
+ page.tags.should == tags
163
+ end
164
+
165
+ should "be able to pull with criteria and modifier hashes" do
166
+ page = @page_class.create(:title => 'Home', :tags => %w(foo bar))
167
+ page2 = @page_class.create(:title => 'Home', :tags => %w(foo bar))
168
+
169
+ @page_class.pull({:title => 'Home'}, :tags => 'foo')
170
+
171
+ page.reload
172
+ page.tags.should == %w(bar)
173
+
174
+ page2.reload
175
+ page.tags.should == %w(bar)
176
+ end
177
+
178
+ should "be able to pull with ids and modifier hash" do
179
+ page = @page_class.create(:title => 'Home', :tags => %w(foo bar))
180
+ page2 = @page_class.create(:title => 'Home', :tags => %w(foo bar))
181
+
182
+ @page_class.pull(page.id, page2.id, :tags => 'foo')
183
+
184
+ page.reload
185
+ page.tags.should == %w(bar)
186
+
187
+ page2.reload
188
+ page.tags.should == %w(bar)
189
+ end
190
+
191
+ should "be able to pull all with criteria and modifier hashes" do
192
+ page = @page_class.create(:title => 'Home', :tags => %w(foo bar baz))
193
+ page2 = @page_class.create(:title => 'Home', :tags => %w(foo bar baz))
194
+
195
+ @page_class.pull_all({:title => 'Home'}, :tags => %w(foo bar))
196
+
197
+ page.reload
198
+ page.tags.should == %w(baz)
199
+
200
+ page2.reload
201
+ page.tags.should == %w(baz)
202
+ end
203
+
204
+ should "be able to pull all with ids and modifier hash" do
205
+ page = @page_class.create(:title => 'Home', :tags => %w(foo bar baz))
206
+ page2 = @page_class.create(:title => 'Home', :tags => %w(foo bar baz))
207
+
208
+ @page_class.pull_all(page.id, page2.id, :tags => %w(foo bar))
209
+
210
+ page.reload
211
+ page.tags.should == %w(baz)
212
+
213
+ page2.reload
214
+ page.tags.should == %w(baz)
215
+ end
216
+
217
+ should "be able to push uniq with criteria and modifier hash" do
218
+ page = @page_class.create(:title => 'Home', :tags => 'foo')
219
+ page2 = @page_class.create(:title => 'Home')
220
+
221
+ @page_class.push_uniq({:title => 'Home'}, :tags => 'foo')
222
+
223
+ page.reload
224
+ page.tags.should == %w(foo)
225
+
226
+ page2.reload
227
+ page.tags.should == %w(foo)
228
+ end
229
+
230
+ should "be able to push uniq with ids and modifier hash" do
231
+ page = @page_class.create(:title => 'Home', :tags => 'foo')
232
+ page2 = @page_class.create(:title => 'Home')
233
+
234
+ @page_class.push_uniq(page.id, page2.id, :tags => 'foo')
235
+
236
+ page.reload
237
+ page.tags.should == %w(foo)
238
+
239
+ page2.reload
240
+ page.tags.should == %w(foo)
241
+ end
242
+ end
@@ -25,23 +25,6 @@ class ValidationsTest < Test::Unit::TestCase
25
25
  end
26
26
  end
27
27
 
28
- context "Skipping validations when saving" do
29
- setup do
30
- @document = Class.new do
31
- include MongoMapper::Document
32
- set_collection_name 'test'
33
- key :name, String, :required => true
34
- end
35
- @document.collection.remove
36
- end
37
-
38
- should "insert document" do
39
- doc = @document.new
40
- doc.save(false)
41
- @document.count.should == 1
42
- end
43
- end
44
-
45
28
  context "Saving a document that is invalid (destructive)" do
46
29
  setup do
47
30
  @document = Class.new do
data/test/models.rb CHANGED
@@ -100,7 +100,7 @@ class Account
100
100
 
101
101
  belongs_to :room
102
102
  end
103
- class User < Account; end
103
+ class AccountUser < Account; end
104
104
  class Bot < Account; end
105
105
 
106
106
  class Answer
@@ -5,7 +5,7 @@ class Test::Unit::TestCase
5
5
  end_time = Time.now
6
6
 
7
7
  duration = end_time - begin_time
8
- threshold = 0.5
8
+ threshold = 1.0
9
9
 
10
10
  if duration > threshold
11
11
  puts "\nSLOW TEST: #{duration} - #{self.name}"
@@ -50,23 +50,17 @@ class AssociationBaseTest < Test::Unit::TestCase
50
50
 
51
51
  should "be false if not many" do
52
52
  Base.new(:belongs_to, :foo).many?.should be_false
53
+ Base.new(:one, :foo).many?.should be_false
53
54
  end
54
55
  end
55
56
 
56
- context "finder_options" do
57
- should "default to empty hash" do
58
- base = Base.new(:many, :foos)
59
- base.finder_options.should == {}
57
+ context "one?" do
58
+ should "be true if one" do
59
+ Base.new(:one, :foo).one?.should be_true
60
60
  end
61
61
 
62
- should "work with order" do
63
- base = Base.new(:many, :foos, :order => 'position')
64
- base.finder_options.should == {:order => 'position'}
65
- end
66
-
67
- should "correctly parse from options" do
68
- base = Base.new(:many, :foos, :order => 'position', :somekey => 'somevalue')
69
- base.finder_options.should == {:order => 'position', :somekey => 'somevalue'}
62
+ should "be false if not one" do
63
+ Base.new(:many, :foo).one?.should be_false
70
64
  end
71
65
  end
72
66
 
@@ -90,6 +84,43 @@ class AssociationBaseTest < Test::Unit::TestCase
90
84
  end
91
85
  end
92
86
 
87
+ context "as?" do
88
+ should "be true if one" do
89
+ Base.new(:one, :foo, :as => :commentable).as?.should be_true
90
+ end
91
+
92
+ should "be false if not one" do
93
+ Base.new(:many, :foo).as?.should be_false
94
+ end
95
+ end
96
+
97
+ context "in_array?" do
98
+ should "be true if one" do
99
+ Base.new(:one, :foo, :in => :list_ids).in_array?.should be_true
100
+ end
101
+
102
+ should "be false if not one" do
103
+ Base.new(:many, :foo).in_array?.should be_false
104
+ end
105
+ end
106
+
107
+ context "finder_options" do
108
+ should "default to empty hash" do
109
+ base = Base.new(:many, :foos)
110
+ base.finder_options.should == {}
111
+ end
112
+
113
+ should "work with order" do
114
+ base = Base.new(:many, :foos, :order => 'position')
115
+ base.finder_options.should == {:order => 'position'}
116
+ end
117
+
118
+ should "correctly parse from options" do
119
+ base = Base.new(:many, :foos, :order => 'position', :somekey => 'somevalue')
120
+ base.finder_options.should == {:order => 'position', :somekey => 'somevalue'}
121
+ end
122
+ end
123
+
93
124
  context "type_key_name" do
94
125
  should "be _type for many" do
95
126
  Base.new(:many, :foos).type_key_name.should == '_type'
@@ -101,7 +132,7 @@ class AssociationBaseTest < Test::Unit::TestCase
101
132
  end
102
133
 
103
134
  context "foreign_key" do
104
- should "default to assocation_name_id" do
135
+ should "default to assocation name _id for belongs to" do
105
136
  base = Base.new(:belongs_to, :foo)
106
137
  base.foreign_key.should == 'foo_id'
107
138
  end
@@ -161,6 +192,16 @@ class AssociationBaseTest < Test::Unit::TestCase
161
192
  base = Base.new(:belongs_to, :target, :polymorphic => true)
162
193
  base.proxy_class.should == BelongsToPolymorphicProxy
163
194
  end
195
+
196
+ should "be OneProxy for one" do
197
+ base = Base.new(:one, :target, :polymorphic => true)
198
+ base.proxy_class.should == OneProxy
199
+ end
200
+
201
+ should "be InArrayProxy for many with :in option" do
202
+ base = Base.new(:many, :messages, :in => :message_ids)
203
+ base.proxy_class.should == InArrayProxy
204
+ end
164
205
  end
165
206
 
166
207
  end
@@ -72,6 +72,38 @@ class DocumentTest < Test::Unit::TestCase
72
72
  @document.collection.should be_instance_of(Mongo::Collection)
73
73
  @document.collection.name.should == 'foobar'
74
74
  end
75
+
76
+ should 'allow extensions to Document to be appended' do
77
+ module Extension; def test_this_extension; end end
78
+ MongoMapper::Document.append_extensions(Extension)
79
+ article = Class.new { include MongoMapper::Document }
80
+
81
+ article.should respond_to(:test_this_extension)
82
+ end
83
+
84
+ should 'add appended extensions to classes that include Document before they are added' do
85
+ module Extension; def test_this_extension; end end
86
+ article = Class.new { include MongoMapper::Document }
87
+ MongoMapper::Document.append_extensions(Extension)
88
+
89
+ article.should respond_to(:test_this_extension)
90
+ end
91
+
92
+ should 'allow inclusions to Document to be appended' do
93
+ module Inclusion; def test_this_inclusion; end end
94
+ MongoMapper::Document.append_inclusions(Inclusion)
95
+ article = Class.new { include MongoMapper::Document }
96
+
97
+ article.new.should respond_to(:test_this_inclusion)
98
+ end
99
+
100
+ should 'add appended inclusions to classes that include Document before they are added' do
101
+ module Inclusion; def test_this_inclusion; end end
102
+ article = Class.new { include MongoMapper::Document }
103
+ MongoMapper::Document.append_inclusions(Inclusion)
104
+
105
+ article.new.should respond_to(:test_this_inclusion)
106
+ end
75
107
  end # Document class
76
108
 
77
109
  context "Documents that inherit from other documents" do
@@ -580,15 +580,6 @@ class EmbeddedDocumentTest < Test::Unit::TestCase
580
580
  doc.instance_variable_get("@foo").should == []
581
581
  end
582
582
 
583
- should "not set instance variable if frozen" do
584
- @document.key :foo, Array
585
- doc = @document.new
586
- doc.instance_variable_get("@foo").should be_nil
587
- doc.freeze
588
- doc.foo
589
- doc.instance_variable_get("@foo").should be_nil
590
- end
591
-
592
583
  should "be overrideable by modules" do
593
584
  @document = Class.new do
594
585
  include MongoMapper::Document
@@ -30,6 +30,13 @@ class FinderOptionsTest < Test::Unit::TestCase
30
30
  }
31
31
  end
32
32
 
33
+ should "automatically add _type to query if model is single collection inherited" do
34
+ FinderOptions.new(Enter, :foo => 'bar').criteria.should == {
35
+ :foo => 'bar',
36
+ :_type => 'Enter'
37
+ }
38
+ end
39
+
33
40
  %w{gt lt gte lte ne in nin mod size where exists}.each do |operator|
34
41
  should "convert #{operator} conditions" do
35
42
  FinderOptions.new(Room, :age.send(operator) => 21).criteria.should == {
@@ -38,13 +45,6 @@ class FinderOptionsTest < Test::Unit::TestCase
38
45
  end
39
46
  end
40
47
 
41
- should "automatically add _type to query if model is single collection inherited" do
42
- FinderOptions.new(Enter, :foo => 'bar').criteria.should == {
43
- :foo => 'bar',
44
- :_type => 'Enter'
45
- }
46
- end
47
-
48
48
  should "work with simple criteria" do
49
49
  FinderOptions.new(Room, :foo => 'bar').criteria.should == {
50
50
  :foo => 'bar'
@@ -61,6 +61,13 @@ class FinderOptionsTest < Test::Unit::TestCase
61
61
  FinderOptions.new(Room, :id => id).criteria.should == {:_id => id}
62
62
  end
63
63
 
64
+ should "convert id with symbol operator to _id with modifier" do
65
+ id = Mongo::ObjectID.new
66
+ FinderOptions.new(Room, :id.ne => id).criteria.should == {
67
+ :_id => {'$ne' => id}
68
+ }
69
+ end
70
+
64
71
  should "make sure that _id's are object ids" do
65
72
  id = Mongo::ObjectID.new
66
73
  FinderOptions.new(Room, :_id => id.to_s).criteria.should == {:_id => id}
@@ -81,6 +88,19 @@ class FinderOptionsTest < Test::Unit::TestCase
81
88
  FinderOptions.new(Message, :room_id => id).criteria.should == {:room_id => id}
82
89
  end
83
90
 
91
+ should "convert times to utc if they aren't already" do
92
+ time = Time.now.in_time_zone('Indiana (East)')
93
+ criteria = FinderOptions.new(Room, :created_at => time).criteria
94
+ criteria[:created_at].utc?.should be_true
95
+ end
96
+
97
+ should "not funk with times already in utc" do
98
+ time = Time.now.utc
99
+ criteria = FinderOptions.new(Room, :created_at => time).criteria
100
+ criteria[:created_at].utc?.should be_true
101
+ criteria[:created_at].should == time
102
+ end
103
+
84
104
  should "use $in for arrays" do
85
105
  FinderOptions.new(Room, :foo => [1,2,3]).criteria.should == {
86
106
  :foo => {'$in' => [1,2,3]}
@@ -121,6 +141,15 @@ class FinderOptionsTest < Test::Unit::TestCase
121
141
  FinderOptions.new(Room, :order => 'foo DESC').options[:sort].should == sort
122
142
  end
123
143
 
144
+ should "convert order operators to mongo sort" do
145
+ FinderOptions.new(Room, :order => :foo.asc).options[:sort].should == [['foo', 1]]
146
+ FinderOptions.new(Room, :order => :foo.desc).options[:sort].should == [['foo', -1]]
147
+ end
148
+
149
+ should "convert array of order operators to mongo sort" do
150
+ FinderOptions.new(Room, :order => [:foo.asc, :bar.desc]).options[:sort].should == [['foo', 1], ['bar', -1]]
151
+ end
152
+
124
153
  should "convert field without direction to ascending" do
125
154
  sort = [['foo', 1]]
126
155
  FinderOptions.new(Room, :order => 'foo').options[:sort].should == sort
@@ -62,6 +62,12 @@ class PaginationTest < Test::Unit::TestCase
62
62
  should "alias offset to skip" do
63
63
  PaginationProxy.new(25, 2, 10).offset.should == 10
64
64
  end
65
+
66
+ should "return true for === Array" do
67
+ collection = PaginationProxy.new(25, 2, 10)
68
+ collection.subject = [1, 2]
69
+ collection.should === Array
70
+ end
65
71
 
66
72
  context "previous_page" do
67
73
  should "be nil if current page 1" do
@@ -22,7 +22,10 @@ class TestRailsCompatibility < Test::Unit::TestCase
22
22
  context "EmbeddedDocument" do
23
23
  should "alias many to has_many" do
24
24
  FirstItem.should respond_to(:has_many)
25
- FirstItem.method(:has_many).should == FirstItem.method(:many)
25
+ end
26
+
27
+ should "alias one to has_one" do
28
+ FirstItem.should respond_to(:has_one)
26
29
  end
27
30
 
28
31
  should "have column names" do
@@ -167,6 +167,10 @@ class SupportTest < Test::Unit::TestCase
167
167
  ObjectId.to_mongo(nil).should be_nil
168
168
  end
169
169
 
170
+ should "return nil if blank string" do
171
+ ObjectId.to_mongo('').should be_nil
172
+ end
173
+
170
174
  should "return value if object id" do
171
175
  id = Mongo::ObjectID.new
172
176
  ObjectId.to_mongo(id).should be(id)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo_mapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.8
4
+ version: 0.6.9
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-12-15 00:00:00 -05:00
12
+ date: 2010-01-01 00:00:00 -05:00
13
13
  default_executable: mmconsole
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - "="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.18.1
33
+ version: 0.18.2
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: jnunemaker-validatable
@@ -104,11 +104,13 @@ files:
104
104
  - lib/mongo_mapper/associations/belongs_to_polymorphic_proxy.rb
105
105
  - lib/mongo_mapper/associations/belongs_to_proxy.rb
106
106
  - lib/mongo_mapper/associations/collection.rb
107
+ - lib/mongo_mapper/associations/in_array_proxy.rb
107
108
  - lib/mongo_mapper/associations/many_documents_as_proxy.rb
108
109
  - lib/mongo_mapper/associations/many_documents_proxy.rb
109
110
  - lib/mongo_mapper/associations/many_embedded_polymorphic_proxy.rb
110
111
  - lib/mongo_mapper/associations/many_embedded_proxy.rb
111
112
  - lib/mongo_mapper/associations/many_polymorphic_proxy.rb
113
+ - lib/mongo_mapper/associations/one_proxy.rb
112
114
  - lib/mongo_mapper/associations/proxy.rb
113
115
  - lib/mongo_mapper/callbacks.rb
114
116
  - lib/mongo_mapper/dirty.rb
@@ -117,7 +119,7 @@ files:
117
119
  - lib/mongo_mapper/embedded_document.rb
118
120
  - lib/mongo_mapper/finder_options.rb
119
121
  - lib/mongo_mapper/key.rb
120
- - lib/mongo_mapper/observing.rb
122
+ - lib/mongo_mapper/mongo_mapper.rb
121
123
  - lib/mongo_mapper/pagination.rb
122
124
  - lib/mongo_mapper/rails_compatibility/document.rb
123
125
  - lib/mongo_mapper/rails_compatibility/embedded_document.rb
@@ -130,11 +132,13 @@ files:
130
132
  - test/NOTE_ON_TESTING
131
133
  - test/functional/associations/test_belongs_to_polymorphic_proxy.rb
132
134
  - test/functional/associations/test_belongs_to_proxy.rb
135
+ - test/functional/associations/test_in_array_proxy.rb
133
136
  - test/functional/associations/test_many_documents_as_proxy.rb
134
137
  - test/functional/associations/test_many_documents_proxy.rb
135
138
  - test/functional/associations/test_many_embedded_polymorphic_proxy.rb
136
139
  - test/functional/associations/test_many_embedded_proxy.rb
137
140
  - test/functional/associations/test_many_polymorphic_proxy.rb
141
+ - test/functional/associations/test_one_proxy.rb
138
142
  - test/functional/test_associations.rb
139
143
  - test/functional/test_binary.rb
140
144
  - test/functional/test_callbacks.rb
@@ -142,6 +146,7 @@ files:
142
146
  - test/functional/test_document.rb
143
147
  - test/functional/test_embedded_document.rb
144
148
  - test/functional/test_logger.rb
149
+ - test/functional/test_modifiers.rb
145
150
  - test/functional/test_pagination.rb
146
151
  - test/functional/test_rails_compatibility.rb
147
152
  - test/functional/test_string_id_compatibility.rb
@@ -159,7 +164,6 @@ files:
159
164
  - test/unit/test_finder_options.rb
160
165
  - test/unit/test_key.rb
161
166
  - test/unit/test_mongo_mapper.rb
162
- - test/unit/test_observing.rb
163
167
  - test/unit/test_pagination.rb
164
168
  - test/unit/test_rails_compatibility.rb
165
169
  - test/unit/test_serializations.rb
@@ -197,11 +201,13 @@ summary: Awesome gem for modeling your domain and storing it in mongo
197
201
  test_files:
198
202
  - test/functional/associations/test_belongs_to_polymorphic_proxy.rb
199
203
  - test/functional/associations/test_belongs_to_proxy.rb
204
+ - test/functional/associations/test_in_array_proxy.rb
200
205
  - test/functional/associations/test_many_documents_as_proxy.rb
201
206
  - test/functional/associations/test_many_documents_proxy.rb
202
207
  - test/functional/associations/test_many_embedded_polymorphic_proxy.rb
203
208
  - test/functional/associations/test_many_embedded_proxy.rb
204
209
  - test/functional/associations/test_many_polymorphic_proxy.rb
210
+ - test/functional/associations/test_one_proxy.rb
205
211
  - test/functional/test_associations.rb
206
212
  - test/functional/test_binary.rb
207
213
  - test/functional/test_callbacks.rb
@@ -209,6 +215,7 @@ test_files:
209
215
  - test/functional/test_document.rb
210
216
  - test/functional/test_embedded_document.rb
211
217
  - test/functional/test_logger.rb
218
+ - test/functional/test_modifiers.rb
212
219
  - test/functional/test_pagination.rb
213
220
  - test/functional/test_rails_compatibility.rb
214
221
  - test/functional/test_string_id_compatibility.rb
@@ -226,7 +233,6 @@ test_files:
226
233
  - test/unit/test_finder_options.rb
227
234
  - test/unit/test_key.rb
228
235
  - test/unit/test_mongo_mapper.rb
229
- - test/unit/test_observing.rb
230
236
  - test/unit/test_pagination.rb
231
237
  - test/unit/test_rails_compatibility.rb
232
238
  - test/unit/test_serializations.rb