mongoid 4.0.0.alpha2 → 4.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +3 -3
  4. data/lib/config/locales/en.yml +13 -0
  5. data/lib/mongoid.rb +3 -1
  6. data/lib/mongoid/atomic.rb +1 -1
  7. data/lib/mongoid/atomic/paths/embedded/many.rb +1 -1
  8. data/lib/mongoid/atomic/paths/embedded/one.rb +1 -1
  9. data/lib/mongoid/attributes.rb +23 -1
  10. data/lib/mongoid/attributes/processing.rb +1 -1
  11. data/lib/mongoid/composable.rb +3 -2
  12. data/lib/mongoid/contextual/command.rb +0 -26
  13. data/lib/mongoid/contextual/geo_near.rb +1 -1
  14. data/lib/mongoid/contextual/mongo.rb +6 -29
  15. data/lib/mongoid/contextual/text_search.rb +3 -5
  16. data/lib/mongoid/criteria.rb +1 -1
  17. data/lib/mongoid/criteria/modifiable.rb +27 -7
  18. data/lib/mongoid/criteria/permission.rb +70 -0
  19. data/lib/mongoid/document.rb +5 -6
  20. data/lib/mongoid/errors.rb +2 -0
  21. data/lib/mongoid/errors/document_not_destroyed.rb +25 -0
  22. data/lib/mongoid/errors/readonly_document.rb +24 -0
  23. data/lib/mongoid/extensions/boolean.rb +1 -0
  24. data/lib/mongoid/extensions/hash.rb +1 -1
  25. data/lib/mongoid/factory.rb +5 -3
  26. data/lib/mongoid/fields.rb +32 -0
  27. data/lib/mongoid/fields/localized.rb +1 -1
  28. data/lib/mongoid/fields/standard.rb +1 -1
  29. data/lib/mongoid/findable.rb +1 -0
  30. data/lib/mongoid/interceptable.rb +11 -6
  31. data/lib/mongoid/log_subscriber.rb +34 -1
  32. data/lib/mongoid/persistable/deletable.rb +1 -0
  33. data/lib/mongoid/persistable/destroyable.rb +7 -2
  34. data/lib/mongoid/persistable/updatable.rb +27 -26
  35. data/lib/mongoid/query_cache.rb +246 -0
  36. data/lib/mongoid/railties/database.rake +4 -26
  37. data/lib/mongoid/relations.rb +8 -22
  38. data/lib/mongoid/relations/accessors.rb +0 -3
  39. data/lib/mongoid/relations/binding.rb +1 -1
  40. data/lib/mongoid/relations/bindings/embedded/in.rb +1 -1
  41. data/lib/mongoid/relations/eager.rb +5 -6
  42. data/lib/mongoid/relations/eager/base.rb +97 -5
  43. data/lib/mongoid/relations/eager/belongs_to.rb +1 -0
  44. data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +16 -9
  45. data/lib/mongoid/relations/eager/has_many.rb +1 -0
  46. data/lib/mongoid/relations/eager/has_one.rb +1 -0
  47. data/lib/mongoid/relations/embedded/batchable.rb +1 -1
  48. data/lib/mongoid/relations/embedded/in.rb +4 -4
  49. data/lib/mongoid/relations/embedded/many.rb +7 -5
  50. data/lib/mongoid/relations/embedded/one.rb +1 -1
  51. data/lib/mongoid/relations/macros.rb +1 -0
  52. data/lib/mongoid/relations/marshalable.rb +3 -3
  53. data/lib/mongoid/relations/proxy.rb +12 -10
  54. data/lib/mongoid/relations/referenced/in.rb +2 -2
  55. data/lib/mongoid/relations/referenced/many.rb +9 -9
  56. data/lib/mongoid/relations/referenced/many_to_many.rb +7 -7
  57. data/lib/mongoid/relations/referenced/one.rb +4 -4
  58. data/lib/mongoid/{state.rb → stateful.rb} +13 -1
  59. data/lib/mongoid/tasks/database.rake +31 -0
  60. data/lib/mongoid/tasks/database.rb +107 -0
  61. data/lib/mongoid/threaded.rb +0 -47
  62. data/lib/mongoid/validatable/uniqueness.rb +4 -16
  63. data/lib/mongoid/version.rb +1 -1
  64. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +0 -3
  65. data/lib/rails/mongoid.rb +0 -124
  66. data/spec/app/models/edit.rb +5 -0
  67. data/spec/app/models/even.rb +7 -0
  68. data/spec/app/models/line_item.rb +1 -1
  69. data/spec/app/models/note.rb +2 -0
  70. data/spec/app/models/odd.rb +7 -0
  71. data/spec/app/models/record.rb +5 -0
  72. data/spec/app/models/wiki_page.rb +1 -1
  73. data/spec/mongoid/attributes_spec.rb +76 -1
  74. data/spec/mongoid/changeable_spec.rb +6 -2
  75. data/spec/mongoid/contextual/mongo_spec.rb +3 -1
  76. data/spec/mongoid/contextual/text_search_spec.rb +3 -1
  77. data/spec/mongoid/criteria/modifiable_spec.rb +192 -0
  78. data/spec/mongoid/criteria_spec.rb +6 -2
  79. data/spec/mongoid/errors/document_not_destroyed_spec.rb +33 -0
  80. data/spec/mongoid/errors/readonly_document_spec.rb +29 -0
  81. data/spec/mongoid/fields/localized_spec.rb +15 -0
  82. data/spec/mongoid/fields_spec.rb +88 -2
  83. data/spec/mongoid/log_subscriber_spec.rb +3 -3
  84. data/spec/mongoid/persistable/deletable_spec.rb +14 -1
  85. data/spec/mongoid/persistable/destroyable_spec.rb +45 -1
  86. data/spec/mongoid/persistable/savable_spec.rb +34 -5
  87. data/spec/mongoid/query_cache_spec.rb +197 -0
  88. data/spec/mongoid/relations/bindings/embedded/in_spec.rb +2 -2
  89. data/spec/mongoid/relations/builders/referenced/many_spec.rb +1 -1
  90. data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +11 -37
  91. data/spec/mongoid/relations/eager/has_one_spec.rb +1 -1
  92. data/spec/mongoid/relations/embedded/in_spec.rb +1 -1
  93. data/spec/mongoid/relations/embedded/many_spec.rb +10 -10
  94. data/spec/mongoid/relations/embedded/one_spec.rb +10 -2
  95. data/spec/mongoid/relations/referenced/in_spec.rb +1 -1
  96. data/spec/mongoid/relations/referenced/many_spec.rb +37 -2
  97. data/spec/mongoid/relations/touchable_spec.rb +20 -0
  98. data/spec/mongoid/{state_spec.rb → stateful_spec.rb} +26 -1
  99. data/spec/mongoid/tasks/database_rake_spec.rb +285 -0
  100. data/spec/mongoid/tasks/database_spec.rb +148 -0
  101. data/spec/mongoid/validatable/uniqueness_spec.rb +7 -0
  102. data/spec/rails/mongoid_spec.rb +0 -316
  103. data/spec/spec_helper.rb +1 -0
  104. metadata +30 -8
@@ -11,6 +11,7 @@ if ENV["CI"]
11
11
  end
12
12
  end
13
13
 
14
+ require "action_controller"
14
15
  require "mongoid"
15
16
  require "rspec"
16
17
  require "helpers"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha2
4
+ version: 4.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-10 00:00:00.000000000 Z
11
+ date: 2014-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.0.beta5
47
+ version: 2.0.beta6
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.0.beta5
54
+ version: 2.0.beta6
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: origin
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -119,6 +119,7 @@ files:
119
119
  - lib/mongoid/criteria/inspectable.rb
120
120
  - lib/mongoid/criteria/marshalable.rb
121
121
  - lib/mongoid/criteria/modifiable.rb
122
+ - lib/mongoid/criteria/permission.rb
122
123
  - lib/mongoid/criteria/scopable.rb
123
124
  - lib/mongoid/document.rb
124
125
  - lib/mongoid/equality.rb
@@ -126,6 +127,7 @@ files:
126
127
  - lib/mongoid/errors/ambiguous_relationship.rb
127
128
  - lib/mongoid/errors/callback.rb
128
129
  - lib/mongoid/errors/delete_restriction.rb
130
+ - lib/mongoid/errors/document_not_destroyed.rb
129
131
  - lib/mongoid/errors/document_not_found.rb
130
132
  - lib/mongoid/errors/eager_load.rb
131
133
  - lib/mongoid/errors/invalid_collection.rb
@@ -157,6 +159,7 @@ files:
157
159
  - lib/mongoid/errors/no_session_hosts.rb
158
160
  - lib/mongoid/errors/no_sessions_config.rb
159
161
  - lib/mongoid/errors/readonly_attribute.rb
162
+ - lib/mongoid/errors/readonly_document.rb
160
163
  - lib/mongoid/errors/scope_overwrite.rb
161
164
  - lib/mongoid/errors/too_many_nested_attribute_records.rb
162
165
  - lib/mongoid/errors/unknown_attribute.rb
@@ -231,6 +234,7 @@ files:
231
234
  - lib/mongoid/persistable/updatable.rb
232
235
  - lib/mongoid/persistable/upsertable.rb
233
236
  - lib/mongoid/positional.rb
237
+ - lib/mongoid/query_cache.rb
234
238
  - lib/mongoid/railtie.rb
235
239
  - lib/mongoid/railties/database.rake
236
240
  - lib/mongoid/railties/document.rb
@@ -307,8 +311,10 @@ files:
307
311
  - lib/mongoid/sessions/validators.rb
308
312
  - lib/mongoid/sessions/validators/storage.rb
309
313
  - lib/mongoid/shardable.rb
310
- - lib/mongoid/state.rb
314
+ - lib/mongoid/stateful.rb
311
315
  - lib/mongoid/support/query_counter.rb
316
+ - lib/mongoid/tasks/database.rake
317
+ - lib/mongoid/tasks/database.rb
312
318
  - lib/mongoid/threaded.rb
313
319
  - lib/mongoid/threaded/lifecycle.rb
314
320
  - lib/mongoid/timestamps.rb
@@ -396,10 +402,12 @@ files:
396
402
  - spec/app/models/driver.rb
397
403
  - spec/app/models/drug.rb
398
404
  - spec/app/models/dungeon.rb
405
+ - spec/app/models/edit.rb
399
406
  - spec/app/models/email.rb
400
407
  - spec/app/models/employer.rb
401
408
  - spec/app/models/entry.rb
402
409
  - spec/app/models/eraser.rb
410
+ - spec/app/models/even.rb
403
411
  - spec/app/models/event.rb
404
412
  - spec/app/models/exhibition.rb
405
413
  - spec/app/models/exhibitor.rb
@@ -441,6 +449,7 @@ files:
441
449
  - spec/app/models/name.rb
442
450
  - spec/app/models/node.rb
443
451
  - spec/app/models/note.rb
452
+ - spec/app/models/odd.rb
444
453
  - spec/app/models/ordered_post.rb
445
454
  - spec/app/models/ordered_preference.rb
446
455
  - spec/app/models/oscar.rb
@@ -562,6 +571,7 @@ files:
562
571
  - spec/mongoid/errors/ambiguous_relationship_spec.rb
563
572
  - spec/mongoid/errors/callback_spec.rb
564
573
  - spec/mongoid/errors/delete_restriction_spec.rb
574
+ - spec/mongoid/errors/document_not_destroyed_spec.rb
565
575
  - spec/mongoid/errors/document_not_found_spec.rb
566
576
  - spec/mongoid/errors/eager_load_spec.rb
567
577
  - spec/mongoid/errors/invalid_collection_spec.rb
@@ -591,6 +601,7 @@ files:
591
601
  - spec/mongoid/errors/no_session_hosts_spec.rb
592
602
  - spec/mongoid/errors/no_sessions_config_spec.rb
593
603
  - spec/mongoid/errors/readonly_attribute_spec.rb
604
+ - spec/mongoid/errors/readonly_document_spec.rb
594
605
  - spec/mongoid/errors/scope_overwrite_spec.rb
595
606
  - spec/mongoid/errors/too_many_nested_attribute_records_spec.rb
596
607
  - spec/mongoid/errors/unknown_attribute_spec.rb
@@ -664,6 +675,7 @@ files:
664
675
  - spec/mongoid/persistable/upsertable_spec.rb
665
676
  - spec/mongoid/persistable_spec.rb
666
677
  - spec/mongoid/positional_spec.rb
678
+ - spec/mongoid/query_cache_spec.rb
667
679
  - spec/mongoid/railties/document_spec.rb
668
680
  - spec/mongoid/relations/accessors_spec.rb
669
681
  - spec/mongoid/relations/auto_save_spec.rb
@@ -725,7 +737,9 @@ files:
725
737
  - spec/mongoid/sessions/options_spec.rb
726
738
  - spec/mongoid/sessions_spec.rb
727
739
  - spec/mongoid/shardable_spec.rb
728
- - spec/mongoid/state_spec.rb
740
+ - spec/mongoid/stateful_spec.rb
741
+ - spec/mongoid/tasks/database_rake_spec.rb
742
+ - spec/mongoid/tasks/database_spec.rb
729
743
  - spec/mongoid/threaded_spec.rb
730
744
  - spec/mongoid/timestamps/created/short_spec.rb
731
745
  - spec/mongoid/timestamps/created_spec.rb
@@ -764,7 +778,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
764
778
  version: 1.3.6
765
779
  requirements: []
766
780
  rubyforge_project: mongoid
767
- rubygems_version: 2.2.0
781
+ rubygems_version: 2.2.1
768
782
  signing_key:
769
783
  specification_version: 4
770
784
  summary: Elegant Persistance in Ruby for MongoDB.
@@ -829,10 +843,12 @@ test_files:
829
843
  - spec/app/models/driver.rb
830
844
  - spec/app/models/drug.rb
831
845
  - spec/app/models/dungeon.rb
846
+ - spec/app/models/edit.rb
832
847
  - spec/app/models/email.rb
833
848
  - spec/app/models/employer.rb
834
849
  - spec/app/models/entry.rb
835
850
  - spec/app/models/eraser.rb
851
+ - spec/app/models/even.rb
836
852
  - spec/app/models/event.rb
837
853
  - spec/app/models/exhibition.rb
838
854
  - spec/app/models/exhibitor.rb
@@ -874,6 +890,7 @@ test_files:
874
890
  - spec/app/models/name.rb
875
891
  - spec/app/models/node.rb
876
892
  - spec/app/models/note.rb
893
+ - spec/app/models/odd.rb
877
894
  - spec/app/models/ordered_post.rb
878
895
  - spec/app/models/ordered_preference.rb
879
896
  - spec/app/models/oscar.rb
@@ -995,6 +1012,7 @@ test_files:
995
1012
  - spec/mongoid/errors/ambiguous_relationship_spec.rb
996
1013
  - spec/mongoid/errors/callback_spec.rb
997
1014
  - spec/mongoid/errors/delete_restriction_spec.rb
1015
+ - spec/mongoid/errors/document_not_destroyed_spec.rb
998
1016
  - spec/mongoid/errors/document_not_found_spec.rb
999
1017
  - spec/mongoid/errors/eager_load_spec.rb
1000
1018
  - spec/mongoid/errors/invalid_collection_spec.rb
@@ -1024,6 +1042,7 @@ test_files:
1024
1042
  - spec/mongoid/errors/no_session_hosts_spec.rb
1025
1043
  - spec/mongoid/errors/no_sessions_config_spec.rb
1026
1044
  - spec/mongoid/errors/readonly_attribute_spec.rb
1045
+ - spec/mongoid/errors/readonly_document_spec.rb
1027
1046
  - spec/mongoid/errors/scope_overwrite_spec.rb
1028
1047
  - spec/mongoid/errors/too_many_nested_attribute_records_spec.rb
1029
1048
  - spec/mongoid/errors/unknown_attribute_spec.rb
@@ -1097,6 +1116,7 @@ test_files:
1097
1116
  - spec/mongoid/persistable/upsertable_spec.rb
1098
1117
  - spec/mongoid/persistable_spec.rb
1099
1118
  - spec/mongoid/positional_spec.rb
1119
+ - spec/mongoid/query_cache_spec.rb
1100
1120
  - spec/mongoid/railties/document_spec.rb
1101
1121
  - spec/mongoid/relations/accessors_spec.rb
1102
1122
  - spec/mongoid/relations/auto_save_spec.rb
@@ -1158,7 +1178,9 @@ test_files:
1158
1178
  - spec/mongoid/sessions/options_spec.rb
1159
1179
  - spec/mongoid/sessions_spec.rb
1160
1180
  - spec/mongoid/shardable_spec.rb
1161
- - spec/mongoid/state_spec.rb
1181
+ - spec/mongoid/stateful_spec.rb
1182
+ - spec/mongoid/tasks/database_rake_spec.rb
1183
+ - spec/mongoid/tasks/database_spec.rb
1162
1184
  - spec/mongoid/threaded_spec.rb
1163
1185
  - spec/mongoid/timestamps/created/short_spec.rb
1164
1186
  - spec/mongoid/timestamps/created_spec.rb