mongo_doc_rails2 0.6.1

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 (142) hide show
  1. data/.document +5 -0
  2. data/.gitignore +8 -0
  3. data/HISTORY.md +11 -0
  4. data/LICENSE +20 -0
  5. data/README.textile +185 -0
  6. data/Rakefile +188 -0
  7. data/TODO +40 -0
  8. data/VERSION +1 -0
  9. data/data/.gitignore +2 -0
  10. data/examples/simple_document.rb +46 -0
  11. data/examples/simple_object.rb +34 -0
  12. data/features/collections.feature +9 -0
  13. data/features/embed_hash.feature +16 -0
  14. data/features/finders.feature +76 -0
  15. data/features/indexes.feature +28 -0
  16. data/features/mongodb.yml +7 -0
  17. data/features/mongodoc_base.feature +128 -0
  18. data/features/new_record.feature +36 -0
  19. data/features/partial_updates.feature +95 -0
  20. data/features/removing_documents.feature +68 -0
  21. data/features/saving_an_object.feature +15 -0
  22. data/features/scopes.feature +66 -0
  23. data/features/step_definitions/collection_steps.rb +17 -0
  24. data/features/step_definitions/document_steps.rb +149 -0
  25. data/features/step_definitions/documents.rb +40 -0
  26. data/features/step_definitions/embed_hash_steps.rb +6 -0
  27. data/features/step_definitions/finder_steps.rb +15 -0
  28. data/features/step_definitions/index_steps.rb +10 -0
  29. data/features/step_definitions/json_steps.rb +9 -0
  30. data/features/step_definitions/object_steps.rb +50 -0
  31. data/features/step_definitions/objects.rb +24 -0
  32. data/features/step_definitions/partial_update_steps.rb +31 -0
  33. data/features/step_definitions/query_steps.rb +66 -0
  34. data/features/step_definitions/removing_documents_steps.rb +14 -0
  35. data/features/step_definitions/scope_steps.rb +18 -0
  36. data/features/step_definitions/string_casting_steps.rb +29 -0
  37. data/features/step_definitions/util_steps.rb +7 -0
  38. data/features/string_casting.feature +10 -0
  39. data/features/support/support.rb +10 -0
  40. data/features/using_criteria.feature +142 -0
  41. data/lib/mongo_doc.rb +12 -0
  42. data/lib/mongo_doc/associations.rb +109 -0
  43. data/lib/mongo_doc/associations/collection_proxy.rb +121 -0
  44. data/lib/mongo_doc/associations/document_proxy.rb +65 -0
  45. data/lib/mongo_doc/associations/hash_proxy.rb +102 -0
  46. data/lib/mongo_doc/associations/proxy_base.rb +48 -0
  47. data/lib/mongo_doc/attributes.rb +84 -0
  48. data/lib/mongo_doc/bson.rb +31 -0
  49. data/lib/mongo_doc/collection.rb +82 -0
  50. data/lib/mongo_doc/connection.rb +88 -0
  51. data/lib/mongo_doc/contexts.rb +31 -0
  52. data/lib/mongo_doc/contexts/ids.rb +41 -0
  53. data/lib/mongo_doc/contexts/mongo.rb +272 -0
  54. data/lib/mongo_doc/criteria.rb +70 -0
  55. data/lib/mongo_doc/cursor.rb +32 -0
  56. data/lib/mongo_doc/document.rb +205 -0
  57. data/lib/mongo_doc/ext.rb +16 -0
  58. data/lib/mongo_doc/ext/array.rb +5 -0
  59. data/lib/mongo_doc/ext/binary.rb +7 -0
  60. data/lib/mongo_doc/ext/boolean_class.rb +17 -0
  61. data/lib/mongo_doc/ext/date.rb +19 -0
  62. data/lib/mongo_doc/ext/date_time.rb +17 -0
  63. data/lib/mongo_doc/ext/dbref.rb +7 -0
  64. data/lib/mongo_doc/ext/hash.rb +7 -0
  65. data/lib/mongo_doc/ext/min_max_keys.rb +13 -0
  66. data/lib/mongo_doc/ext/nil_class.rb +5 -0
  67. data/lib/mongo_doc/ext/numeric.rb +17 -0
  68. data/lib/mongo_doc/ext/object.rb +19 -0
  69. data/lib/mongo_doc/ext/object_id.rb +7 -0
  70. data/lib/mongo_doc/ext/regexp.rb +5 -0
  71. data/lib/mongo_doc/ext/string.rb +5 -0
  72. data/lib/mongo_doc/ext/symbol.rb +5 -0
  73. data/lib/mongo_doc/ext/time.rb +9 -0
  74. data/lib/mongo_doc/finders.rb +38 -0
  75. data/lib/mongo_doc/index.rb +46 -0
  76. data/lib/mongo_doc/matchers.rb +35 -0
  77. data/lib/mongo_doc/root.rb +26 -0
  78. data/lib/mongo_doc/scope.rb +64 -0
  79. data/lib/mongo_doc/validations.rb +12 -0
  80. data/lib/mongo_doc/validations/macros.rb +11 -0
  81. data/lib/mongo_doc/validations/validates_embedded.rb +13 -0
  82. data/lib/mongoid/contexts/enumerable.rb +151 -0
  83. data/lib/mongoid/contexts/paging.rb +42 -0
  84. data/lib/mongoid/criteria.rb +239 -0
  85. data/lib/mongoid/criterion/complex.rb +21 -0
  86. data/lib/mongoid/criterion/exclusion.rb +65 -0
  87. data/lib/mongoid/criterion/inclusion.rb +93 -0
  88. data/lib/mongoid/criterion/optional.rb +136 -0
  89. data/lib/mongoid/extensions/hash/criteria_helpers.rb +20 -0
  90. data/lib/mongoid/extensions/symbol/inflections.rb +36 -0
  91. data/lib/mongoid/matchers/all.rb +11 -0
  92. data/lib/mongoid/matchers/default.rb +26 -0
  93. data/lib/mongoid/matchers/exists.rb +13 -0
  94. data/lib/mongoid/matchers/gt.rb +11 -0
  95. data/lib/mongoid/matchers/gte.rb +11 -0
  96. data/lib/mongoid/matchers/in.rb +11 -0
  97. data/lib/mongoid/matchers/lt.rb +11 -0
  98. data/lib/mongoid/matchers/lte.rb +11 -0
  99. data/lib/mongoid/matchers/ne.rb +11 -0
  100. data/lib/mongoid/matchers/nin.rb +11 -0
  101. data/lib/mongoid/matchers/size.rb +11 -0
  102. data/mongo_doc_rails2.gemspec +237 -0
  103. data/mongod.example.yml +2 -0
  104. data/mongodb.example.yml +14 -0
  105. data/perf/mongo_doc_object.rb +83 -0
  106. data/perf/mongo_document.rb +84 -0
  107. data/perf/ruby_driver.rb +49 -0
  108. data/script/console +8 -0
  109. data/spec/array_including_argument_matcher.rb +62 -0
  110. data/spec/associations/collection_proxy_spec.rb +233 -0
  111. data/spec/associations/document_proxy_spec.rb +45 -0
  112. data/spec/associations/hash_proxy_spec.rb +181 -0
  113. data/spec/associations/proxy_base_spec.rb +92 -0
  114. data/spec/associations_spec.rb +218 -0
  115. data/spec/attributes_accessor_spec.rb +33 -0
  116. data/spec/attributes_spec.rb +145 -0
  117. data/spec/bson_matchers.rb +54 -0
  118. data/spec/bson_spec.rb +196 -0
  119. data/spec/collection_spec.rb +169 -0
  120. data/spec/connection_spec.rb +147 -0
  121. data/spec/contexts/ids_spec.rb +49 -0
  122. data/spec/contexts/mongo_spec.rb +235 -0
  123. data/spec/contexts_spec.rb +56 -0
  124. data/spec/criteria_spec.rb +69 -0
  125. data/spec/cursor_spec.rb +91 -0
  126. data/spec/document_ext.rb +9 -0
  127. data/spec/document_spec.rb +553 -0
  128. data/spec/embedded_save_spec.rb +73 -0
  129. data/spec/ext_spec.rb +89 -0
  130. data/spec/finders_spec.rb +61 -0
  131. data/spec/hash_matchers.rb +27 -0
  132. data/spec/index_spec.rb +79 -0
  133. data/spec/matchers_spec.rb +342 -0
  134. data/spec/mongodb.yml +6 -0
  135. data/spec/mongodb_pairs.yml +8 -0
  136. data/spec/new_record_spec.rb +128 -0
  137. data/spec/root_spec.rb +41 -0
  138. data/spec/scope_spec.rb +79 -0
  139. data/spec/spec.opts +2 -0
  140. data/spec/spec_helper.rb +14 -0
  141. data/spec/validations_spec.rb +30 -0
  142. metadata +346 -0
@@ -0,0 +1,6 @@
1
+ name: database_name
2
+ host: localhost
3
+ port: 27017
4
+ options:
5
+ auto_reconnect: true
6
+
@@ -0,0 +1,8 @@
1
+ name: database_name
2
+ host_pairs:
3
+ first:
4
+ ['localhost', 27017]
5
+ port: 27017
6
+ options:
7
+ auto_reconnect: true
8
+
@@ -0,0 +1,128 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "MongoDoc::Document _id and #new_record?" do
4
+ class Child
5
+ include MongoDoc::Document
6
+ end
7
+
8
+ class Parent
9
+ include MongoDoc::Document
10
+
11
+ embed :child
12
+ embed_many :children
13
+
14
+ attr_accessor :data
15
+
16
+ validates_presence_of :data
17
+ end
18
+
19
+ let(:id) { 'id' }
20
+ let(:collection) { stub('collection', :save => id) }
21
+ let(:child) { Child.new }
22
+
23
+ context "as a embed child" do
24
+ it "when added to the parent is a new record" do
25
+ Parent.new(:data => 'data', :child => child)
26
+ child.should be_new_record
27
+ end
28
+
29
+ context "saving" do
30
+ before do
31
+ Parent.stub(:collection).and_return(collection)
32
+ end
33
+
34
+ context "#save" do
35
+ it "when saved is not a new record" do
36
+ parent = Parent.new(:data => 'data', :child => child)
37
+ parent.save
38
+ child.should_not be_new_record
39
+ end
40
+
41
+ it "if parent is invalid, remains a new record" do
42
+ parent = Parent.new(:child => child)
43
+ parent.save
44
+ child.should be_new_record
45
+ end
46
+ end
47
+
48
+ context "#save!" do
49
+ it "when saved is not a new record" do
50
+ parent = Parent.new(:data => 'data', :child => child)
51
+ parent.save!
52
+ child.should_not be_new_record
53
+ end
54
+
55
+ it "if parent is invalid, remains a new record" do
56
+ parent = Parent.new(:child => child)
57
+ parent.save! rescue nil
58
+ child.should be_new_record
59
+ end
60
+
61
+ it "when db error is raised, remains a new record" do
62
+ collection.stub(:save).and_raise(Mongo::OperationFailure)
63
+ parent = Parent.new(:data => 'data', :child => child)
64
+ expect do
65
+ parent.save!
66
+ end.should raise_error(Mongo::OperationFailure)
67
+ child.should be_new_record
68
+ end
69
+ end
70
+ end
71
+ end
72
+
73
+ context "as a embed_many child" do
74
+ it "when added to the parent is a new record" do
75
+ parent = Parent.new(:data => 'data')
76
+ parent.children << child
77
+ child.should be_new_record
78
+ end
79
+
80
+ context "saving" do
81
+ before do
82
+ Parent.stub(:collection).and_return(collection)
83
+ end
84
+
85
+ context "#save" do
86
+ it "when saved is not a new record" do
87
+ parent = Parent.new(:data => 'data')
88
+ parent.children << child
89
+ parent.save
90
+ child.should_not be_new_record
91
+ end
92
+
93
+ it "if parent is invalid, remains a new record" do
94
+ parent = Parent.new
95
+ parent.children << child
96
+ parent.save
97
+ child.should be_new_record
98
+ end
99
+ end
100
+
101
+ context "#save!" do
102
+ it "when saved is not a new record" do
103
+ parent = Parent.new(:data => 'data')
104
+ parent.children << child
105
+ parent.save!
106
+ child.should_not be_new_record
107
+ end
108
+
109
+ it "if parent is invalid, remains a new record" do
110
+ parent = Parent.new
111
+ parent.children << child
112
+ parent.save! rescue nil
113
+ child.should be_new_record
114
+ end
115
+
116
+ it "when db error is raised, remains a new record" do
117
+ collection.stub(:save).and_raise(Mongo::OperationFailure)
118
+ parent = Parent.new(:data => 'data')
119
+ parent.children << child
120
+ expect do
121
+ parent.save!
122
+ end.should raise_error(Mongo::OperationFailure)
123
+ child.should be_new_record
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe "MongoDoc::Root" do
4
+ class RootTest
5
+ include MongoDoc::Root
6
+ attr_accessor_with_default(:_associations) {[]}
7
+ attr_accessor :association
8
+ end
9
+
10
+ let(:doc) { RootTest.new }
11
+
12
+ context "cascade properties" do
13
+ let(:prop_val) { stub }
14
+
15
+ %w(_modifier_path _root _selector_path).each do |prop|
16
+ it "sets the #{prop}" do
17
+ doc.send("#{prop}=", prop_val)
18
+ doc.send(prop).should == prop_val
19
+ end
20
+
21
+ it "sets the prop on any associations" do
22
+ doc.association = stub
23
+ doc.association.should_receive("#{prop}=").with(prop_val)
24
+ doc._associations = ['association']
25
+ doc.send("#{prop}=", prop_val)
26
+ end
27
+ end
28
+ end
29
+
30
+ describe "#_selector_path" do
31
+ it "defaults to ''" do
32
+ doc._selector_path.should == ''
33
+ end
34
+ end
35
+
36
+ describe "#_modifier_path" do
37
+ it "defaults to ''" do
38
+ doc._modifier_path.should == ''
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,79 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "spec_helper.rb"))
2
+
3
+ describe MongoDoc::Scope do
4
+
5
+ module Extension
6
+ def extension_module_method
7
+ "extension module method"
8
+ end
9
+ end
10
+
11
+ class ScopeTest
12
+ include MongoDoc::Document
13
+
14
+ attr_accessor :active
15
+ attr_accessor :count
16
+
17
+ scope :active, where(:active => true)
18
+ scope :count_lte_one, where(:count.lte => 1) do
19
+ def extension_method
20
+ "extension method"
21
+ end
22
+ end
23
+ scope :count_gt_one, where(:count.gt => 1), :extend => Extension
24
+ scope :at_least_count, lambda {|count| where(:count.gt => count)}
25
+ end
26
+
27
+ context ".scope" do
28
+ it "adds the named scope to the hash of scopes" do
29
+ ScopeTest.scopes.should have_key(:active)
30
+ end
31
+
32
+ it "creates a class method for the named scope" do
33
+ ScopeTest.should respond_to(:active)
34
+ end
35
+ end
36
+
37
+ context "accessing a named scope" do
38
+ it "is a criteria proxy" do
39
+ MongoDoc::Scope::CriteriaProxy.should === ScopeTest.active
40
+ end
41
+
42
+ it "responds like a criteria" do
43
+ ScopeTest.active.should respond_to(:selector)
44
+ end
45
+
46
+ it "has set the conditions on the criteria" do
47
+ ScopeTest.active.selector.should has_entry(:active => true)
48
+ end
49
+
50
+ it "sets the association extension by block" do
51
+ ScopeTest.count_lte_one.extension_method.should == "extension method"
52
+ end
53
+
54
+ it "sets the association extension by :extend" do
55
+ ScopeTest.count_gt_one.extension_module_method.should == "extension module method"
56
+ end
57
+
58
+ context "when using a lambda" do
59
+ it "accepts parameters to the criteria" do
60
+ ScopeTest.at_least_count(3).selector.should has_entry(:count => {'$gt' => 3})
61
+ end
62
+ end
63
+ end
64
+
65
+ context "chained scopes" do
66
+ it "is a criteria proxy" do
67
+ MongoDoc::Scope::CriteriaProxy.should === ScopeTest.active.count_gt_one
68
+ end
69
+
70
+ it "responds like a criteria" do
71
+ ScopeTest.active.count_gt_one.should respond_to(:selector)
72
+ end
73
+
74
+ it "merges the criteria" do
75
+ ScopeTest.active.count_gt_one.selector.should has_entry(:count => {'$gt' => 1}, :active => true)
76
+ end
77
+ end
78
+ end
79
+
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --format nested
@@ -0,0 +1,14 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'mongo_doc'
4
+ require 'spec'
5
+ require 'spec/autorun'
6
+ require 'bson_matchers'
7
+ require 'hash_matchers'
8
+ require 'array_including_argument_matcher'
9
+ require 'document_ext'
10
+
11
+ Spec::Runner.configure do |config|
12
+ config.include(BsonMatchers)
13
+ config.include(HashMatchers)
14
+ end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ describe MongoDoc::Validations do
4
+
5
+ class ValidationTest
6
+ include MongoDoc::Document
7
+
8
+ attr_accessor :data
9
+ validates_presence_of :data
10
+ end
11
+
12
+ context "requirements" do
13
+ subject { ValidationTest.new }
14
+
15
+ it { should respond_to(:valid?) }
16
+ it { should respond_to(:errors) }
17
+
18
+ it "is included by Document" do
19
+ MongoDoc::Validations.should === subject
20
+ end
21
+ end
22
+
23
+ context "validations" do
24
+ it "valid? fails when a document is invalid" do
25
+ doc = ValidationTest.new
26
+ doc.should_not be_valid
27
+ doc.should have(1).error_on(:data)
28
+ end
29
+ end
30
+ end
metadata ADDED
@@ -0,0 +1,346 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mongo_doc_rails2
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 6
8
+ - 1
9
+ version: 0.6.1
10
+ platform: ruby
11
+ authors:
12
+ - Les Hill
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-05-10 00:00:00 -04:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: activesupport
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 2
29
+ - 3
30
+ - 4
31
+ version: 2.3.4
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: mongo
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 0
44
+ - 1
45
+ version: 1.0.1
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: bson
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 1
57
+ - 0
58
+ - 1
59
+ version: 1.0.1
60
+ type: :runtime
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: bson_ext
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 1
71
+ - 0
72
+ - 1
73
+ version: 1.0.1
74
+ type: :runtime
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: durran-validatable
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "="
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 2
85
+ - 0
86
+ - 1
87
+ version: 2.0.1
88
+ type: :runtime
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ name: leshill-will_paginate
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "="
96
+ - !ruby/object:Gem::Version
97
+ segments:
98
+ - 2
99
+ - 3
100
+ - 11
101
+ version: 2.3.11
102
+ type: :runtime
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: rspec
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "="
110
+ - !ruby/object:Gem::Version
111
+ segments:
112
+ - 1
113
+ - 3
114
+ - 0
115
+ version: 1.3.0
116
+ type: :development
117
+ version_requirements: *id007
118
+ - !ruby/object:Gem::Dependency
119
+ name: cucumber
120
+ prerelease: false
121
+ requirement: &id008 !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ segments:
126
+ - 0
127
+ - 6
128
+ - 2
129
+ version: 0.6.2
130
+ type: :development
131
+ version_requirements: *id008
132
+ description: ODM for MongoDB - for Rails 2.3.x
133
+ email: leshill@gmail.com
134
+ executables: []
135
+
136
+ extensions: []
137
+
138
+ extra_rdoc_files:
139
+ - LICENSE
140
+ - README.textile
141
+ - TODO
142
+ files:
143
+ - .document
144
+ - .gitignore
145
+ - HISTORY.md
146
+ - LICENSE
147
+ - README.textile
148
+ - Rakefile
149
+ - TODO
150
+ - VERSION
151
+ - data/.gitignore
152
+ - examples/simple_document.rb
153
+ - examples/simple_object.rb
154
+ - features/collections.feature
155
+ - features/embed_hash.feature
156
+ - features/finders.feature
157
+ - features/indexes.feature
158
+ - features/mongodb.yml
159
+ - features/mongodoc_base.feature
160
+ - features/new_record.feature
161
+ - features/partial_updates.feature
162
+ - features/removing_documents.feature
163
+ - features/saving_an_object.feature
164
+ - features/scopes.feature
165
+ - features/step_definitions/collection_steps.rb
166
+ - features/step_definitions/document_steps.rb
167
+ - features/step_definitions/documents.rb
168
+ - features/step_definitions/embed_hash_steps.rb
169
+ - features/step_definitions/finder_steps.rb
170
+ - features/step_definitions/index_steps.rb
171
+ - features/step_definitions/json_steps.rb
172
+ - features/step_definitions/object_steps.rb
173
+ - features/step_definitions/objects.rb
174
+ - features/step_definitions/partial_update_steps.rb
175
+ - features/step_definitions/query_steps.rb
176
+ - features/step_definitions/removing_documents_steps.rb
177
+ - features/step_definitions/scope_steps.rb
178
+ - features/step_definitions/string_casting_steps.rb
179
+ - features/step_definitions/util_steps.rb
180
+ - features/string_casting.feature
181
+ - features/support/support.rb
182
+ - features/using_criteria.feature
183
+ - lib/mongo_doc.rb
184
+ - lib/mongo_doc/associations.rb
185
+ - lib/mongo_doc/associations/collection_proxy.rb
186
+ - lib/mongo_doc/associations/document_proxy.rb
187
+ - lib/mongo_doc/associations/hash_proxy.rb
188
+ - lib/mongo_doc/associations/proxy_base.rb
189
+ - lib/mongo_doc/attributes.rb
190
+ - lib/mongo_doc/bson.rb
191
+ - lib/mongo_doc/collection.rb
192
+ - lib/mongo_doc/connection.rb
193
+ - lib/mongo_doc/contexts.rb
194
+ - lib/mongo_doc/contexts/ids.rb
195
+ - lib/mongo_doc/contexts/mongo.rb
196
+ - lib/mongo_doc/criteria.rb
197
+ - lib/mongo_doc/cursor.rb
198
+ - lib/mongo_doc/document.rb
199
+ - lib/mongo_doc/ext.rb
200
+ - lib/mongo_doc/ext/array.rb
201
+ - lib/mongo_doc/ext/binary.rb
202
+ - lib/mongo_doc/ext/boolean_class.rb
203
+ - lib/mongo_doc/ext/date.rb
204
+ - lib/mongo_doc/ext/date_time.rb
205
+ - lib/mongo_doc/ext/dbref.rb
206
+ - lib/mongo_doc/ext/hash.rb
207
+ - lib/mongo_doc/ext/min_max_keys.rb
208
+ - lib/mongo_doc/ext/nil_class.rb
209
+ - lib/mongo_doc/ext/numeric.rb
210
+ - lib/mongo_doc/ext/object.rb
211
+ - lib/mongo_doc/ext/object_id.rb
212
+ - lib/mongo_doc/ext/regexp.rb
213
+ - lib/mongo_doc/ext/string.rb
214
+ - lib/mongo_doc/ext/symbol.rb
215
+ - lib/mongo_doc/ext/time.rb
216
+ - lib/mongo_doc/finders.rb
217
+ - lib/mongo_doc/index.rb
218
+ - lib/mongo_doc/matchers.rb
219
+ - lib/mongo_doc/root.rb
220
+ - lib/mongo_doc/scope.rb
221
+ - lib/mongo_doc/validations.rb
222
+ - lib/mongo_doc/validations/macros.rb
223
+ - lib/mongo_doc/validations/validates_embedded.rb
224
+ - lib/mongoid/contexts/enumerable.rb
225
+ - lib/mongoid/contexts/paging.rb
226
+ - lib/mongoid/criteria.rb
227
+ - lib/mongoid/criterion/complex.rb
228
+ - lib/mongoid/criterion/exclusion.rb
229
+ - lib/mongoid/criterion/inclusion.rb
230
+ - lib/mongoid/criterion/optional.rb
231
+ - lib/mongoid/extensions/hash/criteria_helpers.rb
232
+ - lib/mongoid/extensions/symbol/inflections.rb
233
+ - lib/mongoid/matchers/all.rb
234
+ - lib/mongoid/matchers/default.rb
235
+ - lib/mongoid/matchers/exists.rb
236
+ - lib/mongoid/matchers/gt.rb
237
+ - lib/mongoid/matchers/gte.rb
238
+ - lib/mongoid/matchers/in.rb
239
+ - lib/mongoid/matchers/lt.rb
240
+ - lib/mongoid/matchers/lte.rb
241
+ - lib/mongoid/matchers/ne.rb
242
+ - lib/mongoid/matchers/nin.rb
243
+ - lib/mongoid/matchers/size.rb
244
+ - mongo_doc_rails2.gemspec
245
+ - mongod.example.yml
246
+ - mongodb.example.yml
247
+ - perf/mongo_doc_object.rb
248
+ - perf/mongo_document.rb
249
+ - perf/ruby_driver.rb
250
+ - script/console
251
+ - spec/array_including_argument_matcher.rb
252
+ - spec/associations/collection_proxy_spec.rb
253
+ - spec/associations/document_proxy_spec.rb
254
+ - spec/associations/hash_proxy_spec.rb
255
+ - spec/associations/proxy_base_spec.rb
256
+ - spec/associations_spec.rb
257
+ - spec/attributes_accessor_spec.rb
258
+ - spec/attributes_spec.rb
259
+ - spec/bson_matchers.rb
260
+ - spec/bson_spec.rb
261
+ - spec/collection_spec.rb
262
+ - spec/connection_spec.rb
263
+ - spec/contexts/ids_spec.rb
264
+ - spec/contexts/mongo_spec.rb
265
+ - spec/contexts_spec.rb
266
+ - spec/criteria_spec.rb
267
+ - spec/cursor_spec.rb
268
+ - spec/document_ext.rb
269
+ - spec/document_spec.rb
270
+ - spec/embedded_save_spec.rb
271
+ - spec/ext_spec.rb
272
+ - spec/finders_spec.rb
273
+ - spec/hash_matchers.rb
274
+ - spec/index_spec.rb
275
+ - spec/matchers_spec.rb
276
+ - spec/mongodb.yml
277
+ - spec/mongodb_pairs.yml
278
+ - spec/new_record_spec.rb
279
+ - spec/root_spec.rb
280
+ - spec/scope_spec.rb
281
+ - spec/spec.opts
282
+ - spec/spec_helper.rb
283
+ - spec/validations_spec.rb
284
+ has_rdoc: true
285
+ homepage: http://github.com/leshill/mongodoc
286
+ licenses: []
287
+
288
+ post_install_message:
289
+ rdoc_options:
290
+ - --charset=UTF-8
291
+ require_paths:
292
+ - lib
293
+ required_ruby_version: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ segments:
298
+ - 0
299
+ version: "0"
300
+ required_rubygems_version: !ruby/object:Gem::Requirement
301
+ requirements:
302
+ - - ">="
303
+ - !ruby/object:Gem::Version
304
+ segments:
305
+ - 0
306
+ version: "0"
307
+ requirements: []
308
+
309
+ rubyforge_project:
310
+ rubygems_version: 1.3.6
311
+ signing_key:
312
+ specification_version: 3
313
+ summary: ODM for MongoDB - for Rails 2.3.x
314
+ test_files:
315
+ - spec/array_including_argument_matcher.rb
316
+ - spec/associations/collection_proxy_spec.rb
317
+ - spec/associations/document_proxy_spec.rb
318
+ - spec/associations/hash_proxy_spec.rb
319
+ - spec/associations/proxy_base_spec.rb
320
+ - spec/associations_spec.rb
321
+ - spec/attributes_accessor_spec.rb
322
+ - spec/attributes_spec.rb
323
+ - spec/bson_matchers.rb
324
+ - spec/bson_spec.rb
325
+ - spec/collection_spec.rb
326
+ - spec/connection_spec.rb
327
+ - spec/contexts/ids_spec.rb
328
+ - spec/contexts/mongo_spec.rb
329
+ - spec/contexts_spec.rb
330
+ - spec/criteria_spec.rb
331
+ - spec/cursor_spec.rb
332
+ - spec/document_ext.rb
333
+ - spec/document_spec.rb
334
+ - spec/embedded_save_spec.rb
335
+ - spec/ext_spec.rb
336
+ - spec/finders_spec.rb
337
+ - spec/hash_matchers.rb
338
+ - spec/index_spec.rb
339
+ - spec/matchers_spec.rb
340
+ - spec/new_record_spec.rb
341
+ - spec/root_spec.rb
342
+ - spec/scope_spec.rb
343
+ - spec/spec_helper.rb
344
+ - spec/validations_spec.rb
345
+ - examples/simple_document.rb
346
+ - examples/simple_object.rb