mongoid 7.5.1 → 8.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (289) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +3 -3
  4. data/lib/config/locales/en.yml +46 -30
  5. data/lib/mongoid/association/accessors.rb +32 -3
  6. data/lib/mongoid/association/bindable.rb +48 -0
  7. data/lib/mongoid/association/builders.rb +4 -2
  8. data/lib/mongoid/association/eager_loadable.rb +29 -7
  9. data/lib/mongoid/association/embedded/batchable.rb +48 -8
  10. data/lib/mongoid/association/embedded/embedded_in/binding.rb +24 -2
  11. data/lib/mongoid/association/embedded/embedded_in.rb +2 -1
  12. data/lib/mongoid/association/embedded/embeds_many/binding.rb +1 -0
  13. data/lib/mongoid/association/embedded/embeds_many/buildable.rb +1 -1
  14. data/lib/mongoid/association/embedded/embeds_many/proxy.rb +40 -18
  15. data/lib/mongoid/association/embedded/embeds_one/buildable.rb +18 -4
  16. data/lib/mongoid/association/embedded/embeds_one/proxy.rb +21 -2
  17. data/lib/mongoid/association/macros.rb +2 -1
  18. data/lib/mongoid/association/many.rb +5 -0
  19. data/lib/mongoid/association/nested/many.rb +2 -1
  20. data/lib/mongoid/association/proxy.rb +12 -0
  21. data/lib/mongoid/association/referenced/auto_save.rb +3 -2
  22. data/lib/mongoid/association/referenced/belongs_to/binding.rb +1 -0
  23. data/lib/mongoid/association/referenced/belongs_to/buildable.rb +1 -1
  24. data/lib/mongoid/association/referenced/belongs_to.rb +1 -1
  25. data/lib/mongoid/association/referenced/counter_cache.rb +8 -8
  26. data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +64 -11
  27. data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +4 -1
  28. data/lib/mongoid/association/referenced/has_many/enumerable.rb +10 -18
  29. data/lib/mongoid/association/referenced/has_many/proxy.rb +12 -9
  30. data/lib/mongoid/association/referenced/has_one/buildable.rb +1 -1
  31. data/lib/mongoid/association/referenced/has_one/proxy.rb +8 -11
  32. data/lib/mongoid/association/referenced/syncable.rb +2 -2
  33. data/lib/mongoid/association/relatable.rb +38 -4
  34. data/lib/mongoid/atomic/paths/embedded/many.rb +19 -0
  35. data/lib/mongoid/attributes/processing.rb +9 -2
  36. data/lib/mongoid/attributes.rb +30 -27
  37. data/lib/mongoid/changeable.rb +37 -2
  38. data/lib/mongoid/clients/options.rb +4 -0
  39. data/lib/mongoid/clients/sessions.rb +2 -14
  40. data/lib/mongoid/config.rb +20 -10
  41. data/lib/mongoid/contextual/aggregable/memory.rb +23 -15
  42. data/lib/mongoid/contextual/aggregable/mongo.rb +1 -1
  43. data/lib/mongoid/contextual/map_reduce.rb +2 -2
  44. data/lib/mongoid/contextual/memory.rb +55 -28
  45. data/lib/mongoid/contextual/mongo.rb +173 -245
  46. data/lib/mongoid/contextual/none.rb +33 -15
  47. data/lib/mongoid/copyable.rb +32 -8
  48. data/lib/mongoid/criteria/includable.rb +24 -20
  49. data/lib/mongoid/criteria/marshalable.rb +10 -2
  50. data/lib/mongoid/criteria/queryable/extensions/array.rb +2 -15
  51. data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +25 -4
  52. data/lib/mongoid/criteria/queryable/extensions/boolean.rb +1 -1
  53. data/lib/mongoid/criteria/queryable/extensions/date.rb +6 -1
  54. data/lib/mongoid/criteria/queryable/extensions/date_time.rb +6 -1
  55. data/lib/mongoid/criteria/queryable/extensions/hash.rb +0 -16
  56. data/lib/mongoid/criteria/queryable/extensions/numeric.rb +1 -1
  57. data/lib/mongoid/criteria/queryable/extensions/object.rb +2 -1
  58. data/lib/mongoid/criteria/queryable/extensions/range.rb +13 -5
  59. data/lib/mongoid/criteria/queryable/extensions/regexp.rb +1 -1
  60. data/lib/mongoid/criteria/queryable/extensions/symbol.rb +3 -1
  61. data/lib/mongoid/criteria/queryable/extensions/time.rb +6 -1
  62. data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +6 -1
  63. data/lib/mongoid/criteria/queryable/optional.rb +3 -9
  64. data/lib/mongoid/criteria/queryable/options.rb +1 -1
  65. data/lib/mongoid/criteria/queryable/selectable.rb +2 -24
  66. data/lib/mongoid/criteria/queryable/selector.rb +89 -4
  67. data/lib/mongoid/criteria/queryable/smash.rb +39 -6
  68. data/lib/mongoid/criteria/queryable.rb +11 -6
  69. data/lib/mongoid/criteria.rb +1 -28
  70. data/lib/mongoid/deprecable.rb +36 -0
  71. data/lib/mongoid/deprecation.rb +25 -0
  72. data/lib/mongoid/document.rb +96 -34
  73. data/lib/mongoid/equality.rb +4 -4
  74. data/lib/mongoid/errors/document_not_found.rb +6 -2
  75. data/lib/mongoid/errors/invalid_dot_dollar_assignment.rb +23 -0
  76. data/lib/mongoid/errors/invalid_field.rb +5 -1
  77. data/lib/mongoid/errors/invalid_field_type.rb +26 -0
  78. data/lib/mongoid/errors/too_many_nested_attribute_records.rb +1 -1
  79. data/lib/mongoid/errors.rb +2 -2
  80. data/lib/mongoid/extensions/array.rb +8 -6
  81. data/lib/mongoid/extensions/big_decimal.rb +29 -10
  82. data/lib/mongoid/extensions/binary.rb +42 -0
  83. data/lib/mongoid/extensions/boolean.rb +8 -2
  84. data/lib/mongoid/extensions/date.rb +26 -20
  85. data/lib/mongoid/extensions/date_time.rb +1 -1
  86. data/lib/mongoid/extensions/float.rb +4 -5
  87. data/lib/mongoid/extensions/hash.rb +12 -5
  88. data/lib/mongoid/extensions/integer.rb +4 -5
  89. data/lib/mongoid/extensions/object.rb +2 -0
  90. data/lib/mongoid/extensions/range.rb +41 -10
  91. data/lib/mongoid/extensions/regexp.rb +11 -4
  92. data/lib/mongoid/extensions/set.rb +11 -4
  93. data/lib/mongoid/extensions/string.rb +2 -13
  94. data/lib/mongoid/extensions/symbol.rb +3 -14
  95. data/lib/mongoid/extensions/time.rb +27 -16
  96. data/lib/mongoid/extensions/time_with_zone.rb +1 -2
  97. data/lib/mongoid/extensions.rb +1 -0
  98. data/lib/mongoid/factory.rb +42 -7
  99. data/lib/mongoid/fields/foreign_key.rb +7 -0
  100. data/lib/mongoid/fields/validators/macro.rb +3 -9
  101. data/lib/mongoid/fields.rb +49 -7
  102. data/lib/mongoid/findable.rb +21 -16
  103. data/lib/mongoid/indexable/specification.rb +1 -1
  104. data/lib/mongoid/indexable/validators/options.rb +4 -1
  105. data/lib/mongoid/interceptable.rb +69 -9
  106. data/lib/mongoid/persistable/creatable.rb +14 -5
  107. data/lib/mongoid/persistable/updatable.rb +12 -5
  108. data/lib/mongoid/persistence_context.rb +19 -2
  109. data/lib/mongoid/query_cache.rb +6 -258
  110. data/lib/mongoid/railties/controller_runtime.rb +1 -1
  111. data/lib/mongoid/reloadable.rb +7 -3
  112. data/lib/mongoid/scopable.rb +9 -11
  113. data/lib/mongoid/selectable.rb +1 -2
  114. data/lib/mongoid/stateful.rb +27 -1
  115. data/lib/mongoid/timestamps/created.rb +1 -1
  116. data/lib/mongoid/timestamps/updated.rb +1 -1
  117. data/lib/mongoid/touchable.rb +2 -3
  118. data/lib/mongoid/traversable.rb +1 -0
  119. data/lib/mongoid/validatable/uniqueness.rb +2 -1
  120. data/lib/mongoid/version.rb +1 -1
  121. data/lib/mongoid/warnings.rb +3 -4
  122. data/lib/mongoid.rb +1 -0
  123. data/spec/config/mongoid.yml +16 -0
  124. data/spec/integration/app_spec.rb +8 -12
  125. data/spec/integration/associations/belongs_to_spec.rb +18 -0
  126. data/spec/integration/associations/embedded_spec.rb +15 -0
  127. data/spec/integration/associations/embeds_many_spec.rb +15 -2
  128. data/spec/integration/associations/embeds_one_spec.rb +18 -0
  129. data/spec/integration/associations/foreign_key_spec.rb +9 -0
  130. data/spec/integration/associations/has_and_belongs_to_many_spec.rb +21 -0
  131. data/spec/integration/associations/has_one_spec.rb +97 -1
  132. data/spec/integration/associations/scope_option_spec.rb +1 -1
  133. data/spec/integration/callbacks_models.rb +95 -1
  134. data/spec/integration/callbacks_spec.rb +226 -4
  135. data/spec/integration/criteria/range_spec.rb +95 -1
  136. data/spec/integration/discriminator_key_spec.rb +115 -76
  137. data/spec/integration/dots_and_dollars_spec.rb +277 -0
  138. data/spec/integration/i18n_fallbacks_spec.rb +1 -15
  139. data/spec/integration/matcher_examples_spec.rb +20 -13
  140. data/spec/integration/matcher_operator_data/type_decimal.yml +3 -2
  141. data/spec/integration/matcher_operator_spec.rb +3 -5
  142. data/spec/integration/persistence/range_field_spec.rb +350 -0
  143. data/spec/mongoid/association/counter_cache_spec.rb +1 -1
  144. data/spec/mongoid/association/depending_spec.rb +9 -9
  145. data/spec/mongoid/association/eager_spec.rb +2 -1
  146. data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +2 -1
  147. data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +54 -0
  148. data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +69 -9
  149. data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +112 -0
  150. data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +219 -8
  151. data/spec/mongoid/association/embedded/embeds_many_models.rb +157 -0
  152. data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +12 -0
  153. data/spec/mongoid/association/embedded/embeds_many_spec.rb +68 -0
  154. data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +25 -0
  155. data/spec/mongoid/association/embedded/embeds_one_models.rb +19 -0
  156. data/spec/mongoid/association/embedded/embeds_one_spec.rb +28 -0
  157. data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +2 -1
  158. data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +54 -0
  159. data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +15 -0
  160. data/spec/mongoid/association/referenced/belongs_to_models.rb +11 -0
  161. data/spec/mongoid/association/referenced/belongs_to_spec.rb +2 -2
  162. data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +67 -4
  163. data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +25 -0
  164. data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +35 -2
  165. data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +109 -0
  166. data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +2 -56
  167. data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +82 -13
  168. data/spec/mongoid/association/referenced/has_many_models.rb +3 -1
  169. data/spec/mongoid/association/referenced/has_many_spec.rb +25 -0
  170. data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +2 -2
  171. data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +107 -1
  172. data/spec/mongoid/association/referenced/has_one_models.rb +16 -0
  173. data/spec/mongoid/association/syncable_spec.rb +14 -0
  174. data/spec/mongoid/atomic/paths_spec.rb +0 -14
  175. data/spec/mongoid/attributes/nested_spec.rb +80 -11
  176. data/spec/mongoid/attributes/nested_spec_models.rb +48 -0
  177. data/spec/mongoid/attributes/projector_spec.rb +1 -5
  178. data/spec/mongoid/attributes_spec.rb +524 -27
  179. data/spec/mongoid/changeable_spec.rb +130 -13
  180. data/spec/mongoid/clients/factory_spec.rb +23 -30
  181. data/spec/mongoid/clients/sessions_spec.rb +0 -38
  182. data/spec/mongoid/clients_spec.rb +32 -2
  183. data/spec/mongoid/config_spec.rb +58 -13
  184. data/spec/mongoid/contextual/aggregable/memory_spec.rb +396 -158
  185. data/spec/mongoid/contextual/aggregable/memory_table.yml +88 -0
  186. data/spec/mongoid/contextual/aggregable/memory_table_spec.rb +62 -0
  187. data/spec/mongoid/contextual/map_reduce_spec.rb +2 -16
  188. data/spec/mongoid/contextual/memory_spec.rb +521 -14
  189. data/spec/mongoid/contextual/mongo_spec.rb +564 -394
  190. data/spec/mongoid/contextual/none_spec.rb +11 -19
  191. data/spec/mongoid/copyable_spec.rb +451 -1
  192. data/spec/mongoid/criteria/findable_spec.rb +86 -210
  193. data/spec/mongoid/criteria/includable_spec.rb +1492 -0
  194. data/spec/mongoid/criteria/includable_spec_models.rb +54 -0
  195. data/spec/mongoid/criteria/marshalable_spec.rb +18 -1
  196. data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +7 -19
  197. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +134 -26
  198. data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +11 -0
  199. data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +11 -0
  200. data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -15
  201. data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +73 -7
  202. data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +11 -0
  203. data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +11 -0
  204. data/spec/mongoid/criteria/queryable/optional_spec.rb +0 -484
  205. data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +50 -0
  206. data/spec/mongoid/criteria/queryable/selectable_spec.rb +77 -85
  207. data/spec/mongoid/criteria/queryable/selector_spec.rb +14 -2
  208. data/spec/mongoid/criteria_spec.rb +469 -1201
  209. data/spec/mongoid/document_fields_spec.rb +173 -24
  210. data/spec/mongoid/document_spec.rb +32 -41
  211. data/spec/mongoid/equality_spec.rb +12 -12
  212. data/spec/mongoid/errors/document_not_found_spec.rb +29 -2
  213. data/spec/mongoid/errors/invalid_field_spec.rb +1 -1
  214. data/spec/mongoid/errors/invalid_field_type_spec.rb +55 -0
  215. data/spec/mongoid/errors/mongoid_error_spec.rb +3 -1
  216. data/spec/mongoid/errors/no_environment_spec.rb +3 -3
  217. data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +1 -1
  218. data/spec/mongoid/extensions/array_spec.rb +16 -2
  219. data/spec/mongoid/extensions/big_decimal_spec.rb +697 -212
  220. data/spec/mongoid/extensions/binary_spec.rb +44 -9
  221. data/spec/mongoid/extensions/boolean_spec.rb +68 -82
  222. data/spec/mongoid/extensions/date_class_mongoize_spec.rb +7 -3
  223. data/spec/mongoid/extensions/date_spec.rb +71 -1
  224. data/spec/mongoid/extensions/date_time_spec.rb +15 -9
  225. data/spec/mongoid/extensions/float_spec.rb +48 -76
  226. data/spec/mongoid/extensions/hash_spec.rb +30 -0
  227. data/spec/mongoid/extensions/integer_spec.rb +45 -66
  228. data/spec/mongoid/extensions/range_spec.rb +255 -54
  229. data/spec/mongoid/extensions/regexp_spec.rb +58 -33
  230. data/spec/mongoid/extensions/set_spec.rb +106 -0
  231. data/spec/mongoid/extensions/string_spec.rb +53 -25
  232. data/spec/mongoid/extensions/symbol_spec.rb +18 -25
  233. data/spec/mongoid/extensions/time_spec.rb +634 -66
  234. data/spec/mongoid/extensions/time_with_zone_spec.rb +17 -31
  235. data/spec/mongoid/factory_spec.rb +61 -1
  236. data/spec/mongoid/fields_spec.rb +321 -50
  237. data/spec/mongoid/findable_spec.rb +64 -29
  238. data/spec/mongoid/indexable/specification_spec.rb +2 -2
  239. data/spec/mongoid/indexable_spec.rb +16 -19
  240. data/spec/mongoid/interceptable_spec.rb +584 -5
  241. data/spec/mongoid/interceptable_spec_models.rb +235 -4
  242. data/spec/mongoid/matcher/extract_attribute_spec.rb +1 -5
  243. data/spec/mongoid/mongoizable_spec.rb +285 -0
  244. data/spec/mongoid/persistable/creatable_spec.rb +2 -2
  245. data/spec/mongoid/persistable/deletable_spec.rb +2 -2
  246. data/spec/mongoid/persistable/destroyable_spec.rb +2 -2
  247. data/spec/mongoid/persistable/upsertable_spec.rb +14 -0
  248. data/spec/mongoid/persistence_context_spec.rb +50 -1
  249. data/spec/mongoid/query_cache_middleware_spec.rb +0 -18
  250. data/spec/mongoid/query_cache_spec.rb +0 -154
  251. data/spec/mongoid/reloadable_spec.rb +35 -2
  252. data/spec/mongoid/scopable_spec.rb +36 -34
  253. data/spec/mongoid/shardable_spec.rb +14 -0
  254. data/spec/mongoid/stateful_spec.rb +28 -0
  255. data/spec/mongoid/timestamps_spec.rb +390 -0
  256. data/spec/mongoid/timestamps_spec_models.rb +67 -0
  257. data/spec/mongoid/touchable_spec.rb +116 -0
  258. data/spec/mongoid/touchable_spec_models.rb +12 -8
  259. data/spec/mongoid/traversable_spec.rb +4 -11
  260. data/spec/mongoid/validatable/presence_spec.rb +1 -1
  261. data/spec/mongoid/validatable/uniqueness_spec.rb +60 -31
  262. data/spec/mongoid/warnings_spec.rb +35 -0
  263. data/spec/rails/controller_extension/controller_runtime_spec.rb +2 -2
  264. data/spec/rails/mongoid_spec.rb +4 -16
  265. data/spec/shared/lib/mrss/event_subscriber.rb +5 -15
  266. data/spec/support/constraints.rb +24 -0
  267. data/spec/support/macros.rb +30 -0
  268. data/spec/support/models/augmentation.rb +12 -0
  269. data/spec/support/models/band.rb +3 -0
  270. data/spec/support/models/catalog.rb +24 -0
  271. data/spec/support/models/circus.rb +3 -0
  272. data/spec/support/models/fanatic.rb +8 -0
  273. data/spec/support/models/implant.rb +9 -0
  274. data/spec/support/models/label.rb +2 -0
  275. data/spec/support/models/passport.rb +9 -0
  276. data/spec/support/models/person.rb +1 -0
  277. data/spec/support/models/player.rb +2 -0
  278. data/spec/support/models/powerup.rb +12 -0
  279. data/spec/support/models/registry.rb +1 -0
  280. data/spec/support/models/school.rb +14 -0
  281. data/spec/support/models/shield.rb +18 -0
  282. data/spec/support/models/student.rb +14 -0
  283. data/spec/support/models/weapon.rb +12 -0
  284. data.tar.gz.sig +0 -0
  285. metadata +49 -13
  286. metadata.gz.sig +0 -0
  287. data/lib/mongoid/errors/eager_load.rb +0 -23
  288. data/lib/mongoid/errors/invalid_value.rb +0 -17
  289. data/spec/mongoid/errors/eager_load_spec.rb +0 -31
@@ -10,4 +10,16 @@ class Powerup
10
10
  after_build do
11
11
  self.name = "Quad Damage (#{player.frags})"
12
12
  end
13
+
14
+ field :after_find_player
15
+ field :after_initialize_player
16
+ field :after_default_player, default: ->{ self.player&._id }
17
+
18
+ after_find do |doc|
19
+ doc.after_find_player = player&._id
20
+ end
21
+
22
+ after_initialize do |doc|
23
+ doc.after_initialize_player = player&._id
24
+ end
13
25
  end
@@ -3,4 +3,5 @@
3
3
  class Registry
4
4
  include Mongoid::Document
5
5
  field :data, type: BSON::Binary
6
+ field :obj_id, type: BSON::ObjectId
6
7
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class School
4
+ include Mongoid::Document
5
+
6
+ has_many :students
7
+
8
+ field :district, type: String
9
+ field :team, type: String
10
+
11
+ field :after_destroy_triggered, default: false
12
+
13
+ accepts_nested_attributes_for :students, allow_destroy: true
14
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+ class Shield
3
+ include Mongoid::Document
4
+
5
+ has_and_belongs_to_many :players
6
+
7
+ field :after_find_player
8
+ field :after_initialize_player
9
+ field :after_default_player, default: ->{ players.first&._id }
10
+
11
+ after_find do |doc|
12
+ doc.after_find_player = players.first&._id
13
+ end
14
+
15
+ after_initialize do |doc|
16
+ doc.after_initialize_player = players.first&._id
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Student
4
+ include Mongoid::Document
5
+
6
+ belongs_to :school
7
+
8
+ field :name, type: String
9
+ field :grade, type: Integer, default: 3
10
+
11
+ after_destroy do |doc|
12
+ school.after_destroy_triggered = true if school
13
+ end
14
+ end
@@ -10,4 +10,16 @@ class Weapon
10
10
  after_build do
11
11
  self.name = "Holy Hand Grenade (#{player.frags})"
12
12
  end
13
+
14
+ field :after_find_player
15
+ field :after_initialize_player
16
+ field :after_default_player, default: ->{ self.player&._id }
17
+
18
+ after_find do |doc|
19
+ doc.after_find_player = player&._id
20
+ end
21
+
22
+ after_initialize do |doc|
23
+ doc.after_initialize_player = player&._id
24
+ end
13
25
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.5.1
4
+ version: 8.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
@@ -30,7 +30,7 @@ cert_chain:
30
30
  +WyKQ+QTIdtDiyf2LQmxWnxt/W1CmScjdLS7/yXGkkB/D9Uy+sJD747O/B9P238Q
31
31
  XnerrtyOu04RsWDvaZkCwSDVzoqfICh4CP1mlde73Ts=
32
32
  -----END CERTIFICATE-----
33
- date: 2022-07-23 00:00:00.000000000 Z
33
+ date: 2022-07-20 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: activemodel
@@ -64,7 +64,7 @@ dependencies:
64
64
  requirements:
65
65
  - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: 2.10.5
67
+ version: 2.18.0
68
68
  - - "<"
69
69
  - !ruby/object:Gem::Version
70
70
  version: 3.0.0
@@ -74,7 +74,7 @@ dependencies:
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: 2.10.5
77
+ version: 2.18.0
78
78
  - - "<"
79
79
  - !ruby/object:Gem::Version
80
80
  version: 3.0.0
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: 4.9.4
101
+ version: 4.14.0
102
102
  - - "<"
103
103
  - !ruby/object:Gem::Version
104
104
  version: 5.0.0
@@ -108,7 +108,7 @@ dependencies:
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: 4.9.4
111
+ version: 4.14.0
112
112
  - - "<"
113
113
  - !ruby/object:Gem::Version
114
114
  version: 5.0.0
@@ -268,6 +268,8 @@ files:
268
268
  - lib/mongoid/criteria/queryable/smash.rb
269
269
  - lib/mongoid/criteria/queryable/storable.rb
270
270
  - lib/mongoid/criteria/scopable.rb
271
+ - lib/mongoid/deprecable.rb
272
+ - lib/mongoid/deprecation.rb
271
273
  - lib/mongoid/document.rb
272
274
  - lib/mongoid/equality.rb
273
275
  - lib/mongoid/errors.rb
@@ -277,7 +279,6 @@ files:
277
279
  - lib/mongoid/errors/delete_restriction.rb
278
280
  - lib/mongoid/errors/document_not_destroyed.rb
279
281
  - lib/mongoid/errors/document_not_found.rb
280
- - lib/mongoid/errors/eager_load.rb
281
282
  - lib/mongoid/errors/empty_config_file.rb
282
283
  - lib/mongoid/errors/in_memory_collation_not_supported.rb
283
284
  - lib/mongoid/errors/invalid_collection.rb
@@ -285,12 +286,14 @@ files:
285
286
  - lib/mongoid/errors/invalid_config_option.rb
286
287
  - lib/mongoid/errors/invalid_dependent_strategy.rb
287
288
  - lib/mongoid/errors/invalid_discriminator_key_target.rb
289
+ - lib/mongoid/errors/invalid_dot_dollar_assignment.rb
288
290
  - lib/mongoid/errors/invalid_elem_match_operator.rb
289
291
  - lib/mongoid/errors/invalid_estimated_count_criteria.rb
290
292
  - lib/mongoid/errors/invalid_expression_operator.rb
291
293
  - lib/mongoid/errors/invalid_field.rb
292
294
  - lib/mongoid/errors/invalid_field_operator.rb
293
295
  - lib/mongoid/errors/invalid_field_option.rb
296
+ - lib/mongoid/errors/invalid_field_type.rb
294
297
  - lib/mongoid/errors/invalid_find.rb
295
298
  - lib/mongoid/errors/invalid_includes.rb
296
299
  - lib/mongoid/errors/invalid_index.rb
@@ -306,7 +309,6 @@ files:
306
309
  - lib/mongoid/errors/invalid_storage_options.rb
307
310
  - lib/mongoid/errors/invalid_storage_parent.rb
308
311
  - lib/mongoid/errors/invalid_time.rb
309
- - lib/mongoid/errors/invalid_value.rb
310
312
  - lib/mongoid/errors/inverse_not_found.rb
311
313
  - lib/mongoid/errors/mixed_client_configuration.rb
312
314
  - lib/mongoid/errors/mixed_relations.rb
@@ -334,6 +336,7 @@ files:
334
336
  - lib/mongoid/extensions.rb
335
337
  - lib/mongoid/extensions/array.rb
336
338
  - lib/mongoid/extensions/big_decimal.rb
339
+ - lib/mongoid/extensions/binary.rb
337
340
  - lib/mongoid/extensions/boolean.rb
338
341
  - lib/mongoid/extensions/date.rb
339
342
  - lib/mongoid/extensions/date_time.rb
@@ -470,6 +473,7 @@ files:
470
473
  - spec/integration/associations/embeds_one_spec.rb
471
474
  - spec/integration/associations/foreign_key_spec.rb
472
475
  - spec/integration/associations/foreign_key_spec_models.rb
476
+ - spec/integration/associations/has_and_belongs_to_many_spec.rb
473
477
  - spec/integration/associations/has_many_spec.rb
474
478
  - spec/integration/associations/has_one_spec.rb
475
479
  - spec/integration/associations/nested_attributes_assignment_spec.rb
@@ -490,6 +494,7 @@ files:
490
494
  - spec/integration/discriminator_key_spec.rb
491
495
  - spec/integration/discriminator_value_spec.rb
492
496
  - spec/integration/document_spec.rb
497
+ - spec/integration/dots_and_dollars_spec.rb
493
498
  - spec/integration/i18n_fallbacks_spec.rb
494
499
  - spec/integration/matcher_examples_spec.rb
495
500
  - spec/integration/matcher_operator_data/all.yml
@@ -552,6 +557,7 @@ files:
552
557
  - spec/integration/matcher_operator_data/type_undefined.yml
553
558
  - spec/integration/matcher_operator_spec.rb
554
559
  - spec/integration/matcher_spec.rb
560
+ - spec/integration/persistence/range_field_spec.rb
555
561
  - spec/integration/server_query_spec.rb
556
562
  - spec/integration/shardable_spec.rb
557
563
  - spec/integration/stringified_symbol_field_spec.rb
@@ -591,6 +597,7 @@ files:
591
597
  - spec/mongoid/association/referenced/belongs_to/buildable_spec.rb
592
598
  - spec/mongoid/association/referenced/belongs_to/eager_spec.rb
593
599
  - spec/mongoid/association/referenced/belongs_to/proxy_spec.rb
600
+ - spec/mongoid/association/referenced/belongs_to_models.rb
594
601
  - spec/mongoid/association/referenced/belongs_to_query_spec.rb
595
602
  - spec/mongoid/association/referenced/belongs_to_spec.rb
596
603
  - spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb
@@ -628,6 +635,7 @@ files:
628
635
  - spec/mongoid/atomic_spec.rb
629
636
  - spec/mongoid/attributes/dynamic_spec.rb
630
637
  - spec/mongoid/attributes/nested_spec.rb
638
+ - spec/mongoid/attributes/nested_spec_models.rb
631
639
  - spec/mongoid/attributes/projector_data/embedded.yml
632
640
  - spec/mongoid/attributes/projector_data/fields.yml
633
641
  - spec/mongoid/attributes/projector_spec.rb
@@ -645,6 +653,8 @@ files:
645
653
  - spec/mongoid/config/options_spec.rb
646
654
  - spec/mongoid/config_spec.rb
647
655
  - spec/mongoid/contextual/aggregable/memory_spec.rb
656
+ - spec/mongoid/contextual/aggregable/memory_table.yml
657
+ - spec/mongoid/contextual/aggregable/memory_table_spec.rb
648
658
  - spec/mongoid/contextual/aggregable/mongo_spec.rb
649
659
  - spec/mongoid/contextual/aggregable/none_spec.rb
650
660
  - spec/mongoid/contextual/atomic_spec.rb
@@ -656,6 +666,8 @@ files:
656
666
  - spec/mongoid/copyable_spec.rb
657
667
  - spec/mongoid/copyable_spec_models.rb
658
668
  - spec/mongoid/criteria/findable_spec.rb
669
+ - spec/mongoid/criteria/includable_spec.rb
670
+ - spec/mongoid/criteria/includable_spec_models.rb
659
671
  - spec/mongoid/criteria/inspectable_spec.rb
660
672
  - spec/mongoid/criteria/marshalable_spec.rb
661
673
  - spec/mongoid/criteria/modifiable_spec.rb
@@ -709,12 +721,12 @@ files:
709
721
  - spec/mongoid/errors/delete_restriction_spec.rb
710
722
  - spec/mongoid/errors/document_not_destroyed_spec.rb
711
723
  - spec/mongoid/errors/document_not_found_spec.rb
712
- - spec/mongoid/errors/eager_load_spec.rb
713
724
  - spec/mongoid/errors/invalid_collection_spec.rb
714
725
  - spec/mongoid/errors/invalid_config_file_spec.rb
715
726
  - spec/mongoid/errors/invalid_config_option_spec.rb
716
727
  - spec/mongoid/errors/invalid_field_option_spec.rb
717
728
  - spec/mongoid/errors/invalid_field_spec.rb
729
+ - spec/mongoid/errors/invalid_field_type_spec.rb
718
730
  - spec/mongoid/errors/invalid_find_spec.rb
719
731
  - spec/mongoid/errors/invalid_includes_spec.rb
720
732
  - spec/mongoid/errors/invalid_index_spec.rb
@@ -787,6 +799,7 @@ files:
787
799
  - spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml
788
800
  - spec/mongoid/matcher/extract_attribute_data/traversal.yml
789
801
  - spec/mongoid/matcher/extract_attribute_spec.rb
802
+ - spec/mongoid/mongoizable_spec.rb
790
803
  - spec/mongoid/persistable/creatable_spec.rb
791
804
  - spec/mongoid/persistable/deletable_spec.rb
792
805
  - spec/mongoid/persistable/destroyable_spec.rb
@@ -823,6 +836,7 @@ files:
823
836
  - spec/mongoid/timestamps/updated/short_spec.rb
824
837
  - spec/mongoid/timestamps/updated_spec.rb
825
838
  - spec/mongoid/timestamps_spec.rb
839
+ - spec/mongoid/timestamps_spec_models.rb
826
840
  - spec/mongoid/touchable_spec.rb
827
841
  - spec/mongoid/touchable_spec_models.rb
828
842
  - spec/mongoid/traversable_spec.rb
@@ -833,6 +847,7 @@ files:
833
847
  - spec/mongoid/validatable/presence_spec.rb
834
848
  - spec/mongoid/validatable/uniqueness_spec.rb
835
849
  - spec/mongoid/validatable_spec.rb
850
+ - spec/mongoid/warnings_spec.rb
836
851
  - spec/mongoid_spec.rb
837
852
  - spec/rails/controller_extension/controller_runtime_spec.rb
838
853
  - spec/rails/mongoid_spec.rb
@@ -909,6 +924,7 @@ files:
909
924
  - spec/support/models/canvas.rb
910
925
  - spec/support/models/car.rb
911
926
  - spec/support/models/cat.rb
927
+ - spec/support/models/catalog.rb
912
928
  - spec/support/models/category.rb
913
929
  - spec/support/models/child.rb
914
930
  - spec/support/models/child_doc.rb
@@ -957,6 +973,7 @@ files:
957
973
  - spec/support/models/eye.rb
958
974
  - spec/support/models/eye_bowl.rb
959
975
  - spec/support/models/face.rb
976
+ - spec/support/models/fanatic.rb
960
977
  - spec/support/models/favorite.rb
961
978
  - spec/support/models/filesystem.rb
962
979
  - spec/support/models/fire_hydrant.rb
@@ -1052,6 +1069,7 @@ files:
1052
1069
  - spec/support/models/root_category.rb
1053
1070
  - spec/support/models/sandwich.rb
1054
1071
  - spec/support/models/scheduler.rb
1072
+ - spec/support/models/school.rb
1055
1073
  - spec/support/models/scribe.rb
1056
1074
  - spec/support/models/sealer.rb
1057
1075
  - spec/support/models/seat.rb
@@ -1061,6 +1079,7 @@ files:
1061
1079
  - spec/support/models/service.rb
1062
1080
  - spec/support/models/shape.rb
1063
1081
  - spec/support/models/shelf.rb
1082
+ - spec/support/models/shield.rb
1064
1083
  - spec/support/models/shipment_address.rb
1065
1084
  - spec/support/models/shipping_container.rb
1066
1085
  - spec/support/models/shipping_pack.rb
@@ -1080,6 +1099,7 @@ files:
1080
1099
  - spec/support/models/store_as_dup_test3.rb
1081
1100
  - spec/support/models/store_as_dup_test4.rb
1082
1101
  - spec/support/models/strategy.rb
1102
+ - spec/support/models/student.rb
1083
1103
  - spec/support/models/sub_item.rb
1084
1104
  - spec/support/models/subscription.rb
1085
1105
  - spec/support/models/survey.rb
@@ -1143,15 +1163,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
1143
1163
  requirements:
1144
1164
  - - ">="
1145
1165
  - !ruby/object:Gem::Version
1146
- version: '2.5'
1166
+ version: '2.6'
1147
1167
  required_rubygems_version: !ruby/object:Gem::Requirement
1148
1168
  requirements:
1149
1169
  - - ">="
1150
1170
  - !ruby/object:Gem::Version
1151
1171
  version: 1.3.6
1152
1172
  requirements: []
1153
- rubyforge_project:
1154
- rubygems_version: 2.7.6.2
1173
+ rubygems_version: 3.2.5
1155
1174
  signing_key:
1156
1175
  specification_version: 4
1157
1176
  summary: Elegant Persistence in Ruby for MongoDB.
@@ -1173,6 +1192,7 @@ test_files:
1173
1192
  - spec/integration/criteria/default_scope_spec.rb
1174
1193
  - spec/integration/criteria/alias_query_spec.rb
1175
1194
  - spec/integration/criteria/date_field_spec.rb
1195
+ - spec/integration/persistence/range_field_spec.rb
1176
1196
  - spec/integration/stringified_symbol_field_spec.rb
1177
1197
  - spec/integration/document_spec.rb
1178
1198
  - spec/integration/i18n_fallbacks_spec.rb
@@ -1185,10 +1205,12 @@ test_files:
1185
1205
  - spec/integration/associations/embeds_one_spec.rb
1186
1206
  - spec/integration/associations/reverse_population_spec_models.rb
1187
1207
  - spec/integration/associations/embedded_spec.rb
1208
+ - spec/integration/associations/has_and_belongs_to_many_spec.rb
1188
1209
  - spec/integration/associations/reverse_population_spec.rb
1189
1210
  - spec/integration/associations/foreign_key_spec_models.rb
1190
1211
  - spec/integration/associations/nested_attributes_assignment_spec.rb
1191
1212
  - spec/integration/associations/embeds_many_spec.rb
1213
+ - spec/integration/dots_and_dollars_spec.rb
1192
1214
  - spec/integration/shardable_spec.rb
1193
1215
  - spec/integration/matcher_operator_data/type_binary.yml
1194
1216
  - spec/integration/matcher_operator_data/lte_types.yml
@@ -1283,6 +1305,7 @@ test_files:
1283
1305
  - spec/support/models/author.rb
1284
1306
  - spec/support/models/vet_visit.rb
1285
1307
  - spec/support/models/powerup.rb
1308
+ - spec/support/models/student.rb
1286
1309
  - spec/support/models/drug.rb
1287
1310
  - spec/support/models/eraser.rb
1288
1311
  - spec/support/models/ordered_preference.rb
@@ -1372,11 +1395,13 @@ test_files:
1372
1395
  - spec/support/models/oscar.rb
1373
1396
  - spec/support/models/pronunciation.rb
1374
1397
  - spec/support/models/address.rb
1398
+ - spec/support/models/catalog.rb
1375
1399
  - spec/support/models/threadlocker.rb
1376
1400
  - spec/support/models/label.rb
1377
1401
  - spec/support/models/edit.rb
1378
1402
  - spec/support/models/address_number.rb
1379
1403
  - spec/support/models/strategy.rb
1404
+ - spec/support/models/fanatic.rb
1380
1405
  - spec/support/models/user_account.rb
1381
1406
  - spec/support/models/array_field.rb
1382
1407
  - spec/support/models/exhibitor.rb
@@ -1398,6 +1423,7 @@ test_files:
1398
1423
  - spec/support/models/building_address.rb
1399
1424
  - spec/support/models/augmentation.rb
1400
1425
  - spec/support/models/guitar.rb
1426
+ - spec/support/models/school.rb
1401
1427
  - spec/support/models/pet.rb
1402
1428
  - spec/support/models/shirt.rb
1403
1429
  - spec/support/models/coding/pull_request.rb
@@ -1501,6 +1527,7 @@ test_files:
1501
1527
  - spec/support/models/dog.rb
1502
1528
  - spec/support/models/video.rb
1503
1529
  - spec/support/models/eye.rb
1530
+ - spec/support/models/shield.rb
1504
1531
  - spec/support/models/washer.rb
1505
1532
  - spec/support/models/lat_lng.rb
1506
1533
  - spec/support/models/sandwich.rb
@@ -1559,6 +1586,7 @@ test_files:
1559
1586
  - spec/mongoid/association/referenced/belongs_to_spec.rb
1560
1587
  - spec/mongoid/association/referenced/has_one_spec.rb
1561
1588
  - spec/mongoid/association/referenced/has_many_spec.rb
1589
+ - spec/mongoid/association/referenced/belongs_to_models.rb
1562
1590
  - spec/mongoid/association/referenced/belongs_to/eager_spec.rb
1563
1591
  - spec/mongoid/association/referenced/belongs_to/binding_spec.rb
1564
1592
  - spec/mongoid/association/referenced/belongs_to/buildable_spec.rb
@@ -1646,8 +1674,11 @@ test_files:
1646
1674
  - spec/mongoid/contextual/none_spec.rb
1647
1675
  - spec/mongoid/contextual/atomic_spec.rb
1648
1676
  - spec/mongoid/contextual/aggregable/mongo_spec.rb
1677
+ - spec/mongoid/contextual/aggregable/memory_table.yml
1649
1678
  - spec/mongoid/contextual/aggregable/memory_spec.rb
1650
1679
  - spec/mongoid/contextual/aggregable/none_spec.rb
1680
+ - spec/mongoid/contextual/aggregable/memory_table_spec.rb
1681
+ - spec/mongoid/criteria/includable_spec.rb
1651
1682
  - spec/mongoid/criteria/options_spec.rb
1652
1683
  - spec/mongoid/criteria/queryable/smash_spec.rb
1653
1684
  - spec/mongoid/criteria/queryable/pipeline_spec.rb
@@ -1687,13 +1718,16 @@ test_files:
1687
1718
  - spec/mongoid/criteria/queryable/selectable_logical_spec.rb
1688
1719
  - spec/mongoid/criteria/modifiable_spec.rb
1689
1720
  - spec/mongoid/criteria/inspectable_spec.rb
1721
+ - spec/mongoid/criteria/includable_spec_models.rb
1690
1722
  - spec/mongoid/criteria/marshalable_spec.rb
1691
1723
  - spec/mongoid/criteria/scopable_spec.rb
1692
1724
  - spec/mongoid/criteria/findable_spec.rb
1725
+ - spec/mongoid/warnings_spec.rb
1693
1726
  - spec/mongoid/config_spec.rb
1694
1727
  - spec/mongoid/relations/proxy_spec.rb
1695
1728
  - spec/mongoid/traversable_spec.rb
1696
1729
  - spec/mongoid/criteria_projection_spec.rb
1730
+ - spec/mongoid/mongoizable_spec.rb
1697
1731
  - spec/mongoid/document_spec.rb
1698
1732
  - spec/mongoid/interceptable_spec_models.rb
1699
1733
  - spec/mongoid/extensions/date_spec.rb
@@ -1722,6 +1756,7 @@ test_files:
1722
1756
  - spec/mongoid/extensions/date_time_spec.rb
1723
1757
  - spec/mongoid/extensions/binary_spec.rb
1724
1758
  - spec/mongoid/attributes/projector_spec.rb
1759
+ - spec/mongoid/attributes/nested_spec_models.rb
1725
1760
  - spec/mongoid/attributes/readonly_spec.rb
1726
1761
  - spec/mongoid/attributes/dynamic_spec.rb
1727
1762
  - spec/mongoid/attributes/projector_data/embedded.yml
@@ -1730,6 +1765,7 @@ test_files:
1730
1765
  - spec/mongoid/inspectable_spec.rb
1731
1766
  - spec/mongoid/reloadable_spec.rb
1732
1767
  - spec/mongoid/shardable_spec.rb
1768
+ - spec/mongoid/timestamps_spec_models.rb
1733
1769
  - spec/mongoid/stateful_spec.rb
1734
1770
  - spec/mongoid/composable_spec.rb
1735
1771
  - spec/mongoid/association_spec.rb
@@ -1818,7 +1854,7 @@ test_files:
1818
1854
  - spec/mongoid/errors/invalid_config_file_spec.rb
1819
1855
  - spec/mongoid/errors/invalid_options_spec.rb
1820
1856
  - spec/mongoid/errors/document_not_found_spec.rb
1821
- - spec/mongoid/errors/eager_load_spec.rb
1857
+ - spec/mongoid/errors/invalid_field_type_spec.rb
1822
1858
  - spec/mongoid/interceptable_spec.rb
1823
1859
  - spec/mongoid/document_fields_spec.rb
1824
1860
  - spec/mongoid/criteria_spec.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Mongoid
4
- module Errors
5
-
6
- # This error is raised when attempting to eager load a many to many
7
- # association.
8
- #
9
- # @deprecated No longer used by Mongoid per MONGOID-4841.
10
- class EagerLoad < MongoidError
11
-
12
- # Create the new eager load error.
13
- #
14
- # @example Create the new eager load error.
15
- # EagerLoad.new(:preferences)
16
- #
17
- # @param [ Symbol ] name The name of the association.
18
- def initialize(name)
19
- super(compose_message("eager_load", { name: name }))
20
- end
21
- end
22
- end
23
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Mongoid
4
- module Errors
5
-
6
- # This error is raised when trying to set an attribute with an invalid value.
7
- # For example when try to set an Array value to a Hash attribute.
8
- #
9
- class InvalidValue < MongoidError
10
- def initialize(field_class, value_class)
11
- super(
12
- compose_message("invalid_value", { value_class: value_class, field_class: field_class })
13
- )
14
- end
15
- end
16
- end
17
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
-
5
- describe Mongoid::Errors::EagerLoad do
6
-
7
- describe "#message" do
8
-
9
- let(:error) do
10
- described_class.new(:ratable)
11
- end
12
-
13
- it "contains the problem in the message" do
14
- expect(error.message).to include(
15
- "Eager loading :ratable is not supported since it is a polymorphic"
16
- )
17
- end
18
-
19
- it "contains the summary in the message" do
20
- expect(error.message).to include(
21
- "Mongoid cannot currently determine the classes it needs to eager"
22
- )
23
- end
24
-
25
- it "contains the resolution in the message" do
26
- expect(error.message).to include(
27
- "Don't attempt to perform this action and have patience"
28
- )
29
- end
30
- end
31
- end