mongo_mapper_ign 0.7.4

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 (105) hide show
  1. data/.gitignore +10 -0
  2. data/LICENSE +20 -0
  3. data/README.rdoc +35 -0
  4. data/Rakefile +37 -0
  5. data/bin/mmconsole +60 -0
  6. data/lib/mongo_mapper.rb +116 -0
  7. data/lib/mongo_mapper/document.rb +313 -0
  8. data/lib/mongo_mapper/embedded_document.rb +70 -0
  9. data/lib/mongo_mapper/plugins.rb +35 -0
  10. data/lib/mongo_mapper/plugins/associations.rb +114 -0
  11. data/lib/mongo_mapper/plugins/associations/base.rb +123 -0
  12. data/lib/mongo_mapper/plugins/associations/belongs_to_polymorphic_proxy.rb +30 -0
  13. data/lib/mongo_mapper/plugins/associations/belongs_to_proxy.rb +25 -0
  14. data/lib/mongo_mapper/plugins/associations/collection.rb +21 -0
  15. data/lib/mongo_mapper/plugins/associations/embedded_collection.rb +39 -0
  16. data/lib/mongo_mapper/plugins/associations/in_array_proxy.rb +144 -0
  17. data/lib/mongo_mapper/plugins/associations/many_documents_as_proxy.rb +28 -0
  18. data/lib/mongo_mapper/plugins/associations/many_documents_proxy.rb +129 -0
  19. data/lib/mongo_mapper/plugins/associations/many_embedded_polymorphic_proxy.rb +31 -0
  20. data/lib/mongo_mapper/plugins/associations/many_embedded_proxy.rb +23 -0
  21. data/lib/mongo_mapper/plugins/associations/many_polymorphic_proxy.rb +13 -0
  22. data/lib/mongo_mapper/plugins/associations/one_embedded_proxy.rb +41 -0
  23. data/lib/mongo_mapper/plugins/associations/one_proxy.rb +69 -0
  24. data/lib/mongo_mapper/plugins/associations/proxy.rb +124 -0
  25. data/lib/mongo_mapper/plugins/callbacks.rb +240 -0
  26. data/lib/mongo_mapper/plugins/clone.rb +13 -0
  27. data/lib/mongo_mapper/plugins/descendants.rb +16 -0
  28. data/lib/mongo_mapper/plugins/dirty.rb +119 -0
  29. data/lib/mongo_mapper/plugins/equality.rb +23 -0
  30. data/lib/mongo_mapper/plugins/identity_map.rb +122 -0
  31. data/lib/mongo_mapper/plugins/inspect.rb +14 -0
  32. data/lib/mongo_mapper/plugins/keys.rb +345 -0
  33. data/lib/mongo_mapper/plugins/logger.rb +17 -0
  34. data/lib/mongo_mapper/plugins/modifiers.rb +107 -0
  35. data/lib/mongo_mapper/plugins/pagination.rb +24 -0
  36. data/lib/mongo_mapper/plugins/pagination/proxy.rb +72 -0
  37. data/lib/mongo_mapper/plugins/persistence.rb +68 -0
  38. data/lib/mongo_mapper/plugins/protected.rb +45 -0
  39. data/lib/mongo_mapper/plugins/rails.rb +57 -0
  40. data/lib/mongo_mapper/plugins/serialization.rb +91 -0
  41. data/lib/mongo_mapper/plugins/serialization/array.rb +56 -0
  42. data/lib/mongo_mapper/plugins/serialization/xml_serializer.rb +240 -0
  43. data/lib/mongo_mapper/plugins/timestamps.rb +21 -0
  44. data/lib/mongo_mapper/plugins/userstamps.rb +14 -0
  45. data/lib/mongo_mapper/plugins/validations.rb +46 -0
  46. data/lib/mongo_mapper/query.rb +143 -0
  47. data/lib/mongo_mapper/support.rb +218 -0
  48. data/lib/mongo_mapper/support/descendant_appends.rb +46 -0
  49. data/lib/mongo_mapper/support/find.rb +77 -0
  50. data/lib/mongo_mapper/version.rb +3 -0
  51. data/mongo_mapper.gemspec +214 -0
  52. data/mongo_mapper_ign.gemspec +217 -0
  53. data/performance/read_write.rb +52 -0
  54. data/specs.watchr +51 -0
  55. data/test/NOTE_ON_TESTING +1 -0
  56. data/test/active_model_lint_test.rb +13 -0
  57. data/test/functional/associations/test_belongs_to_polymorphic_proxy.rb +63 -0
  58. data/test/functional/associations/test_belongs_to_proxy.rb +101 -0
  59. data/test/functional/associations/test_in_array_proxy.rb +325 -0
  60. data/test/functional/associations/test_many_documents_as_proxy.rb +229 -0
  61. data/test/functional/associations/test_many_documents_proxy.rb +536 -0
  62. data/test/functional/associations/test_many_embedded_polymorphic_proxy.rb +176 -0
  63. data/test/functional/associations/test_many_embedded_proxy.rb +256 -0
  64. data/test/functional/associations/test_many_polymorphic_proxy.rb +302 -0
  65. data/test/functional/associations/test_one_embedded_proxy.rb +68 -0
  66. data/test/functional/associations/test_one_proxy.rb +196 -0
  67. data/test/functional/test_associations.rb +44 -0
  68. data/test/functional/test_binary.rb +27 -0
  69. data/test/functional/test_callbacks.rb +151 -0
  70. data/test/functional/test_dirty.rb +163 -0
  71. data/test/functional/test_document.rb +1219 -0
  72. data/test/functional/test_embedded_document.rb +210 -0
  73. data/test/functional/test_identity_map.rb +507 -0
  74. data/test/functional/test_indexing.rb +44 -0
  75. data/test/functional/test_logger.rb +20 -0
  76. data/test/functional/test_modifiers.rb +394 -0
  77. data/test/functional/test_pagination.rb +93 -0
  78. data/test/functional/test_protected.rb +163 -0
  79. data/test/functional/test_string_id_compatibility.rb +67 -0
  80. data/test/functional/test_timestamps.rb +64 -0
  81. data/test/functional/test_userstamps.rb +28 -0
  82. data/test/functional/test_validations.rb +342 -0
  83. data/test/models.rb +227 -0
  84. data/test/support/custom_matchers.rb +37 -0
  85. data/test/support/timing.rb +16 -0
  86. data/test/test_helper.rb +64 -0
  87. data/test/unit/associations/test_base.rb +212 -0
  88. data/test/unit/associations/test_proxy.rb +105 -0
  89. data/test/unit/serializers/test_json_serializer.rb +202 -0
  90. data/test/unit/test_descendant_appends.rb +71 -0
  91. data/test/unit/test_document.rb +225 -0
  92. data/test/unit/test_dynamic_finder.rb +123 -0
  93. data/test/unit/test_embedded_document.rb +657 -0
  94. data/test/unit/test_keys.rb +185 -0
  95. data/test/unit/test_mongo_mapper.rb +118 -0
  96. data/test/unit/test_pagination.rb +160 -0
  97. data/test/unit/test_plugins.rb +50 -0
  98. data/test/unit/test_query.rb +374 -0
  99. data/test/unit/test_rails.rb +181 -0
  100. data/test/unit/test_rails_compatibility.rb +52 -0
  101. data/test/unit/test_serialization.rb +51 -0
  102. data/test/unit/test_support.rb +382 -0
  103. data/test/unit/test_time_zones.rb +39 -0
  104. data/test/unit/test_validations.rb +544 -0
  105. metadata +327 -0
@@ -0,0 +1,218 @@
1
+ class Array
2
+ def self.to_mongo(value)
3
+ value = value.respond_to?(:lines) ? value.lines : value
4
+ value.to_a
5
+ end
6
+
7
+ def self.from_mongo(value)
8
+ value || []
9
+ end
10
+ end
11
+
12
+ class Binary
13
+ def self.to_mongo(value)
14
+ if value.is_a?(BSON::Binary)
15
+ value
16
+ else
17
+ value.nil? ? nil : BSON::Binary.new(value)
18
+ end
19
+ end
20
+
21
+ def self.from_mongo(value)
22
+ value
23
+ end
24
+ end
25
+
26
+ class Boolean
27
+ BOOLEAN_MAPPING = {
28
+ true => true, 'true' => true, 'TRUE' => true, 'True' => true, 't' => true, 'T' => true, '1' => true, 1 => true, 1.0 => true,
29
+ false => false, 'false' => false, 'FALSE' => false, 'False' => false, 'f' => false, 'F' => false, '0' => false, 0 => false, 0.0 => false, nil => nil
30
+ }
31
+
32
+ def self.to_mongo(value)
33
+ if value.is_a?(Boolean)
34
+ value
35
+ else
36
+ BOOLEAN_MAPPING[value]
37
+ end
38
+ end
39
+
40
+ def self.from_mongo(value)
41
+ !!value
42
+ end
43
+ end
44
+
45
+ class Date
46
+ def self.to_mongo(value)
47
+ if value.nil? || value == ''
48
+ nil
49
+ else
50
+ date = value.is_a?(Date) || value.is_a?(Time) ? value : Date.parse(value.to_s)
51
+ Time.utc(date.year, date.month, date.day)
52
+ end
53
+ rescue
54
+ nil
55
+ end
56
+
57
+ def self.from_mongo(value)
58
+ value.to_date if value.present?
59
+ end
60
+ end
61
+
62
+ class Float
63
+ def self.to_mongo(value)
64
+ value.to_f
65
+ end
66
+ end
67
+
68
+ class Hash
69
+ def self.from_mongo(value)
70
+ HashWithIndifferentAccess.new(value || {})
71
+ end
72
+
73
+ def to_mongo
74
+ self
75
+ end
76
+ end
77
+
78
+ class Integer
79
+ def self.to_mongo(value)
80
+ value_to_i = value.to_i
81
+ if value_to_i == 0 && value != value_to_i
82
+ value.to_s =~ /^(0x|0b)?0+/ ? 0 : nil
83
+ else
84
+ value_to_i
85
+ end
86
+ end
87
+ end
88
+
89
+ class NilClass
90
+ def to_mongo(value)
91
+ value
92
+ end
93
+
94
+ def from_mongo(value)
95
+ value
96
+ end
97
+ end
98
+
99
+ class Object
100
+ # The hidden singleton lurks behind everyone
101
+ def metaclass
102
+ class << self; self end
103
+ end
104
+
105
+ def meta_eval(&blk)
106
+ metaclass.instance_eval(&blk)
107
+ end
108
+
109
+ # Adds methods to a metaclass
110
+ def meta_def(name, &blk)
111
+ meta_eval { define_method(name, &blk) }
112
+ end
113
+
114
+ # Defines an instance method within a class
115
+ def class_def(name, &blk)
116
+ class_eval { define_method(name, &blk) }
117
+ end
118
+
119
+ def self.to_mongo(value)
120
+ value
121
+ end
122
+
123
+ def self.from_mongo(value)
124
+ value
125
+ end
126
+ end
127
+
128
+ class ObjectId
129
+ def self.to_mongo(value)
130
+ if value.blank?
131
+ nil
132
+ elsif value.is_a?(BSON::ObjectID)
133
+ value
134
+ else
135
+ BSON::ObjectID.from_string(value.to_s)
136
+ end
137
+ end
138
+
139
+ def self.from_mongo(value)
140
+ value
141
+ end
142
+ end
143
+
144
+ class Set
145
+ def self.to_mongo(value)
146
+ value.to_a
147
+ end
148
+
149
+ def self.from_mongo(value)
150
+ Set.new(value || [])
151
+ end
152
+ end
153
+
154
+ class String
155
+ def self.to_mongo(value)
156
+ value.nil? ? nil : value.to_s
157
+ end
158
+
159
+ def self.from_mongo(value)
160
+ value.nil? ? nil : value.to_s
161
+ end
162
+ end
163
+
164
+ class SymbolOperator
165
+ attr_reader :field, :operator
166
+
167
+ def initialize(field, operator, options={})
168
+ @field, @operator = field, operator
169
+ end unless method_defined?(:initialize)
170
+ end
171
+
172
+ class Symbol
173
+ %w(gt lt gte lte ne in nin mod all size where exists asc desc).each do |operator|
174
+ define_method(operator) do
175
+ SymbolOperator.new(self, operator)
176
+ end unless method_defined?(operator)
177
+ end
178
+ end
179
+
180
+ class Time
181
+ def self.to_mongo(value)
182
+ if value.nil? || value == ''
183
+ nil
184
+ else
185
+ time_class = Time.try(:zone).present? ? Time.zone : Time
186
+ time = value.is_a?(Time) ? value : time_class.parse(value.to_s)
187
+ # Convert time to milliseconds since BSON stores dates with that accurracy, but Ruby uses microseconds
188
+ Time.at((time.to_f * 1000).round / 1000.0).utc if time
189
+ end
190
+ end
191
+
192
+ def self.from_mongo(value)
193
+ if Time.try(:zone).present? && value.present?
194
+ value.in_time_zone(Time.zone)
195
+ else
196
+ value
197
+ end
198
+ end
199
+ end
200
+
201
+ class BSON::ObjectID
202
+ alias_method :original_to_json, :to_json
203
+
204
+ def as_json(options=nil)
205
+ to_s
206
+ end
207
+
208
+ def to_json(options = nil)
209
+ as_json.to_json
210
+ end
211
+ end
212
+
213
+ module MongoMapper
214
+ module Support
215
+ autoload :DescendantAppends, 'mongo_mapper/support/descendant_appends'
216
+ autoload :Find, 'mongo_mapper/support/find'
217
+ end
218
+ end
@@ -0,0 +1,46 @@
1
+ module MongoMapper
2
+ module Support
3
+ module DescendantAppends
4
+ def included(model)
5
+ extra_extensions.each { |extension| model.extend(extension) }
6
+ extra_inclusions.each { |inclusion| model.send(:include, inclusion) }
7
+ descendants << model
8
+ end
9
+
10
+ # @api public
11
+ def descendants
12
+ @descendants ||= Set.new
13
+ end
14
+
15
+ # @api public
16
+ def append_extensions(*extensions)
17
+ extra_extensions.concat extensions
18
+
19
+ # Add the extension to existing descendants
20
+ descendants.each do |model|
21
+ extensions.each { |extension| model.extend(extension) }
22
+ end
23
+ end
24
+
25
+ # @api public
26
+ def append_inclusions(*inclusions)
27
+ extra_inclusions.concat inclusions
28
+
29
+ # Add the inclusion to existing descendants
30
+ descendants.each do |model|
31
+ inclusions.each { |inclusion| model.send(:include, inclusion) }
32
+ end
33
+ end
34
+
35
+ # @api private
36
+ def extra_extensions
37
+ @extra_extensions ||= []
38
+ end
39
+
40
+ # @api private
41
+ def extra_inclusions
42
+ @extra_inclusions ||= []
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,77 @@
1
+ module MongoMapper
2
+ module Support
3
+ # @api private
4
+ module Find
5
+ def dynamic_find(finder, args)
6
+ attributes = {}
7
+
8
+ finder.attributes.each_with_index do |attr, index|
9
+ attributes[attr] = args[index]
10
+ end
11
+
12
+ options = args.extract_options!.merge(attributes)
13
+
14
+ if result = send(finder.finder, options)
15
+ result
16
+ else
17
+ if finder.raise?
18
+ raise DocumentNotFound, "Couldn't find Document with #{attributes.inspect} in collection named #{collection.name}"
19
+ end
20
+
21
+ if finder.instantiator
22
+ self.send(finder.instantiator, attributes)
23
+ end
24
+ end
25
+ end
26
+
27
+ class DynamicFinder
28
+ attr_reader :method, :attributes, :finder, :bang, :instantiator
29
+
30
+ def initialize(method)
31
+ @method = method
32
+ @finder = :first
33
+ @bang = false
34
+ match
35
+ end
36
+
37
+ def found?
38
+ @finder.present?
39
+ end
40
+
41
+ def raise?
42
+ bang == true
43
+ end
44
+
45
+ protected
46
+ def match
47
+ case method.to_s
48
+ when /^find_(all_by|by)_([_a-zA-Z]\w*)$/
49
+ @finder = :all if $1 == 'all_by'
50
+ names = $2
51
+ when /^find_by_([_a-zA-Z]\w*)\!$/
52
+ @bang = true
53
+ names = $1
54
+ when /^find_or_(initialize|create)_by_([_a-zA-Z]\w*)$/
55
+ @instantiator = $1 == 'initialize' ? :new : :create
56
+ names = $2
57
+ else
58
+ @finder = nil
59
+ end
60
+
61
+ @attributes = names && names.split('_and_')
62
+ end
63
+ end
64
+
65
+ protected
66
+ def method_missing(method, *args, &block)
67
+ finder = DynamicFinder.new(method)
68
+
69
+ if finder.found?
70
+ dynamic_find(finder, args)
71
+ else
72
+ super
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,3 @@
1
+ module MongoMapper
2
+ Version = '0.7.4'
3
+ end
@@ -0,0 +1,214 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{mongo_mapper}
8
+ s.version = "0.7.4"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["John Nunemaker"]
12
+ s.date = %q{2010-04-18}
13
+ s.default_executable = %q{mmconsole}
14
+ s.email = %q{nunemaker@gmail.com}
15
+ s.executables = ["mmconsole"]
16
+ s.extra_rdoc_files = [
17
+ "LICENSE",
18
+ "README.rdoc"
19
+ ]
20
+ s.files = [
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "bin/mmconsole",
26
+ "lib/mongo_mapper.rb",
27
+ "lib/mongo_mapper/document.rb",
28
+ "lib/mongo_mapper/embedded_document.rb",
29
+ "lib/mongo_mapper/plugins.rb",
30
+ "lib/mongo_mapper/plugins/associations.rb",
31
+ "lib/mongo_mapper/plugins/associations/base.rb",
32
+ "lib/mongo_mapper/plugins/associations/belongs_to_polymorphic_proxy.rb",
33
+ "lib/mongo_mapper/plugins/associations/belongs_to_proxy.rb",
34
+ "lib/mongo_mapper/plugins/associations/collection.rb",
35
+ "lib/mongo_mapper/plugins/associations/embedded_collection.rb",
36
+ "lib/mongo_mapper/plugins/associations/in_array_proxy.rb",
37
+ "lib/mongo_mapper/plugins/associations/many_documents_as_proxy.rb",
38
+ "lib/mongo_mapper/plugins/associations/many_documents_proxy.rb",
39
+ "lib/mongo_mapper/plugins/associations/many_embedded_polymorphic_proxy.rb",
40
+ "lib/mongo_mapper/plugins/associations/many_embedded_proxy.rb",
41
+ "lib/mongo_mapper/plugins/associations/many_polymorphic_proxy.rb",
42
+ "lib/mongo_mapper/plugins/associations/one_embedded_proxy.rb",
43
+ "lib/mongo_mapper/plugins/associations/one_proxy.rb",
44
+ "lib/mongo_mapper/plugins/associations/proxy.rb",
45
+ "lib/mongo_mapper/plugins/callbacks.rb",
46
+ "lib/mongo_mapper/plugins/clone.rb",
47
+ "lib/mongo_mapper/plugins/descendants.rb",
48
+ "lib/mongo_mapper/plugins/dirty.rb",
49
+ "lib/mongo_mapper/plugins/equality.rb",
50
+ "lib/mongo_mapper/plugins/identity_map.rb",
51
+ "lib/mongo_mapper/plugins/inspect.rb",
52
+ "lib/mongo_mapper/plugins/keys.rb",
53
+ "lib/mongo_mapper/plugins/logger.rb",
54
+ "lib/mongo_mapper/plugins/modifiers.rb",
55
+ "lib/mongo_mapper/plugins/pagination.rb",
56
+ "lib/mongo_mapper/plugins/pagination/proxy.rb",
57
+ "lib/mongo_mapper/plugins/persistence.rb",
58
+ "lib/mongo_mapper/plugins/protected.rb",
59
+ "lib/mongo_mapper/plugins/rails.rb",
60
+ "lib/mongo_mapper/plugins/serialization.rb",
61
+ "lib/mongo_mapper/plugins/timestamps.rb",
62
+ "lib/mongo_mapper/plugins/userstamps.rb",
63
+ "lib/mongo_mapper/plugins/validations.rb",
64
+ "lib/mongo_mapper/query.rb",
65
+ "lib/mongo_mapper/support.rb",
66
+ "lib/mongo_mapper/support/descendant_appends.rb",
67
+ "lib/mongo_mapper/support/find.rb",
68
+ "lib/mongo_mapper/version.rb",
69
+ "mongo_mapper.gemspec",
70
+ "performance/read_write.rb",
71
+ "specs.watchr",
72
+ "test/NOTE_ON_TESTING",
73
+ "test/active_model_lint_test.rb",
74
+ "test/functional/associations/test_belongs_to_polymorphic_proxy.rb",
75
+ "test/functional/associations/test_belongs_to_proxy.rb",
76
+ "test/functional/associations/test_in_array_proxy.rb",
77
+ "test/functional/associations/test_many_documents_as_proxy.rb",
78
+ "test/functional/associations/test_many_documents_proxy.rb",
79
+ "test/functional/associations/test_many_embedded_polymorphic_proxy.rb",
80
+ "test/functional/associations/test_many_embedded_proxy.rb",
81
+ "test/functional/associations/test_many_polymorphic_proxy.rb",
82
+ "test/functional/associations/test_one_embedded_proxy.rb",
83
+ "test/functional/associations/test_one_proxy.rb",
84
+ "test/functional/test_associations.rb",
85
+ "test/functional/test_binary.rb",
86
+ "test/functional/test_callbacks.rb",
87
+ "test/functional/test_dirty.rb",
88
+ "test/functional/test_document.rb",
89
+ "test/functional/test_embedded_document.rb",
90
+ "test/functional/test_identity_map.rb",
91
+ "test/functional/test_indexing.rb",
92
+ "test/functional/test_logger.rb",
93
+ "test/functional/test_modifiers.rb",
94
+ "test/functional/test_pagination.rb",
95
+ "test/functional/test_protected.rb",
96
+ "test/functional/test_string_id_compatibility.rb",
97
+ "test/functional/test_timestamps.rb",
98
+ "test/functional/test_userstamps.rb",
99
+ "test/functional/test_validations.rb",
100
+ "test/models.rb",
101
+ "test/support/custom_matchers.rb",
102
+ "test/support/timing.rb",
103
+ "test/test_helper.rb",
104
+ "test/unit/associations/test_base.rb",
105
+ "test/unit/associations/test_proxy.rb",
106
+ "test/unit/serializers/test_json_serializer.rb",
107
+ "test/unit/test_descendant_appends.rb",
108
+ "test/unit/test_document.rb",
109
+ "test/unit/test_dynamic_finder.rb",
110
+ "test/unit/test_embedded_document.rb",
111
+ "test/unit/test_keys.rb",
112
+ "test/unit/test_mongo_mapper.rb",
113
+ "test/unit/test_pagination.rb",
114
+ "test/unit/test_plugins.rb",
115
+ "test/unit/test_query.rb",
116
+ "test/unit/test_rails.rb",
117
+ "test/unit/test_rails_compatibility.rb",
118
+ "test/unit/test_serialization.rb",
119
+ "test/unit/test_support.rb",
120
+ "test/unit/test_time_zones.rb",
121
+ "test/unit/test_validations.rb"
122
+ ]
123
+ s.homepage = %q{http://github.com/jnunemaker/mongomapper}
124
+ s.rdoc_options = ["--charset=UTF-8"]
125
+ s.require_paths = ["lib"]
126
+ s.rubygems_version = %q{1.3.6}
127
+ s.summary = %q{A Ruby Object Mapper for Mongo}
128
+ s.test_files = [
129
+ "test/active_model_lint_test.rb",
130
+ "test/functional/associations/test_belongs_to_polymorphic_proxy.rb",
131
+ "test/functional/associations/test_belongs_to_proxy.rb",
132
+ "test/functional/associations/test_in_array_proxy.rb",
133
+ "test/functional/associations/test_many_documents_as_proxy.rb",
134
+ "test/functional/associations/test_many_documents_proxy.rb",
135
+ "test/functional/associations/test_many_embedded_polymorphic_proxy.rb",
136
+ "test/functional/associations/test_many_embedded_proxy.rb",
137
+ "test/functional/associations/test_many_polymorphic_proxy.rb",
138
+ "test/functional/associations/test_one_embedded_proxy.rb",
139
+ "test/functional/associations/test_one_proxy.rb",
140
+ "test/functional/test_associations.rb",
141
+ "test/functional/test_binary.rb",
142
+ "test/functional/test_callbacks.rb",
143
+ "test/functional/test_dirty.rb",
144
+ "test/functional/test_document.rb",
145
+ "test/functional/test_embedded_document.rb",
146
+ "test/functional/test_identity_map.rb",
147
+ "test/functional/test_indexing.rb",
148
+ "test/functional/test_logger.rb",
149
+ "test/functional/test_modifiers.rb",
150
+ "test/functional/test_pagination.rb",
151
+ "test/functional/test_protected.rb",
152
+ "test/functional/test_string_id_compatibility.rb",
153
+ "test/functional/test_timestamps.rb",
154
+ "test/functional/test_userstamps.rb",
155
+ "test/functional/test_validations.rb",
156
+ "test/models.rb",
157
+ "test/support/custom_matchers.rb",
158
+ "test/support/timing.rb",
159
+ "test/test_helper.rb",
160
+ "test/unit/associations/test_base.rb",
161
+ "test/unit/associations/test_proxy.rb",
162
+ "test/unit/serializers/test_json_serializer.rb",
163
+ "test/unit/test_descendant_appends.rb",
164
+ "test/unit/test_document.rb",
165
+ "test/unit/test_dynamic_finder.rb",
166
+ "test/unit/test_embedded_document.rb",
167
+ "test/unit/test_keys.rb",
168
+ "test/unit/test_mongo_mapper.rb",
169
+ "test/unit/test_pagination.rb",
170
+ "test/unit/test_plugins.rb",
171
+ "test/unit/test_query.rb",
172
+ "test/unit/test_rails.rb",
173
+ "test/unit/test_rails_compatibility.rb",
174
+ "test/unit/test_serialization.rb",
175
+ "test/unit/test_support.rb",
176
+ "test/unit/test_time_zones.rb",
177
+ "test/unit/test_validations.rb"
178
+ ]
179
+
180
+ if s.respond_to? :specification_version then
181
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
182
+ s.specification_version = 3
183
+
184
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
185
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.3.4"])
186
+ s.add_runtime_dependency(%q<mongo>, ["= 0.20.1"])
187
+ s.add_runtime_dependency(%q<jnunemaker-validatable>, ["= 1.8.4"])
188
+ s.add_development_dependency(%q<json>, [">= 1.2.3"])
189
+ s.add_development_dependency(%q<jnunemaker-matchy>, ["= 0.4.0"])
190
+ s.add_development_dependency(%q<shoulda>, ["= 2.10.2"])
191
+ s.add_development_dependency(%q<timecop>, ["= 0.3.1"])
192
+ s.add_development_dependency(%q<mocha>, ["= 0.9.8"])
193
+ else
194
+ s.add_dependency(%q<activesupport>, [">= 2.3.4"])
195
+ s.add_dependency(%q<mongo>, ["= 0.20.1"])
196
+ s.add_dependency(%q<jnunemaker-validatable>, ["= 1.8.4"])
197
+ s.add_dependency(%q<json>, [">= 1.2.3"])
198
+ s.add_dependency(%q<jnunemaker-matchy>, ["= 0.4.0"])
199
+ s.add_dependency(%q<shoulda>, ["= 2.10.2"])
200
+ s.add_dependency(%q<timecop>, ["= 0.3.1"])
201
+ s.add_dependency(%q<mocha>, ["= 0.9.8"])
202
+ end
203
+ else
204
+ s.add_dependency(%q<activesupport>, [">= 2.3.4"])
205
+ s.add_dependency(%q<mongo>, ["= 0.20.1"])
206
+ s.add_dependency(%q<jnunemaker-validatable>, ["= 1.8.4"])
207
+ s.add_dependency(%q<json>, [">= 1.2.3"])
208
+ s.add_dependency(%q<jnunemaker-matchy>, ["= 0.4.0"])
209
+ s.add_dependency(%q<shoulda>, ["= 2.10.2"])
210
+ s.add_dependency(%q<timecop>, ["= 0.3.1"])
211
+ s.add_dependency(%q<mocha>, ["= 0.9.8"])
212
+ end
213
+ end
214
+