mongoid 6.4.0 → 6.4.7

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 (76) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/Rakefile +26 -0
  5. data/lib/mongoid.rb +1 -1
  6. data/lib/mongoid/clients/sessions.rb +2 -2
  7. data/lib/mongoid/contextual/aggregable/mongo.rb +1 -1
  8. data/lib/mongoid/contextual/map_reduce.rb +4 -4
  9. data/lib/mongoid/contextual/memory.rb +4 -4
  10. data/lib/mongoid/contextual/mongo.rb +3 -3
  11. data/lib/mongoid/criteria/modifiable.rb +12 -2
  12. data/lib/mongoid/criteria/queryable/selectable.rb +34 -7
  13. data/lib/mongoid/document.rb +4 -4
  14. data/lib/mongoid/extensions/big_decimal.rb +1 -1
  15. data/lib/mongoid/extensions/regexp.rb +1 -0
  16. data/lib/mongoid/extensions/string.rb +3 -1
  17. data/lib/mongoid/indexable.rb +4 -4
  18. data/lib/mongoid/matchable.rb +3 -0
  19. data/lib/mongoid/matchable/nor.rb +37 -0
  20. data/lib/mongoid/persistable.rb +1 -1
  21. data/lib/mongoid/persistable/creatable.rb +2 -2
  22. data/lib/mongoid/persistable/deletable.rb +2 -2
  23. data/lib/mongoid/persistable/settable.rb +5 -5
  24. data/lib/mongoid/persistable/updatable.rb +2 -2
  25. data/lib/mongoid/persistable/upsertable.rb +1 -1
  26. data/lib/mongoid/persistence_context.rb +4 -0
  27. data/lib/mongoid/query_cache.rb +21 -10
  28. data/lib/mongoid/railtie.rb +17 -0
  29. data/lib/mongoid/railties/controller_runtime.rb +86 -0
  30. data/lib/mongoid/relations/embedded/batchable.rb +4 -4
  31. data/lib/mongoid/relations/embedded/many.rb +23 -0
  32. data/lib/mongoid/relations/many.rb +2 -2
  33. data/lib/mongoid/relations/referenced/many.rb +1 -1
  34. data/lib/mongoid/relations/touchable.rb +1 -1
  35. data/lib/mongoid/reloadable.rb +1 -1
  36. data/lib/mongoid/scopable.rb +3 -3
  37. data/lib/mongoid/tasks/database.rb +2 -2
  38. data/lib/mongoid/threaded.rb +36 -0
  39. data/lib/mongoid/version.rb +1 -1
  40. data/lib/rails/generators/mongoid/config/templates/mongoid.yml +4 -0
  41. data/spec/app/models/array_field.rb +7 -0
  42. data/spec/app/models/delegating_patient.rb +16 -0
  43. data/spec/integration/document_spec.rb +22 -0
  44. data/spec/mongoid/clients/factory_spec.rb +52 -28
  45. data/spec/mongoid/clients/options_spec.rb +30 -15
  46. data/spec/mongoid/clients/sessions_spec.rb +12 -3
  47. data/spec/mongoid/contextual/geo_near_spec.rb +1 -0
  48. data/spec/mongoid/contextual/mongo_spec.rb +2 -2
  49. data/spec/mongoid/criteria/modifiable_spec.rb +59 -10
  50. data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +3 -3
  51. data/spec/mongoid/criteria/queryable/selectable_spec.rb +42 -3
  52. data/spec/mongoid/criteria/queryable/selector_spec.rb +2 -2
  53. data/spec/mongoid/criteria/scopable_spec.rb +81 -0
  54. data/spec/mongoid/criteria_spec.rb +4 -1
  55. data/spec/mongoid/document_spec.rb +54 -0
  56. data/spec/mongoid/extensions/big_decimal_spec.rb +9 -9
  57. data/spec/mongoid/extensions/regexp_spec.rb +23 -0
  58. data/spec/mongoid/extensions/string_spec.rb +35 -7
  59. data/spec/mongoid/fields_spec.rb +1 -1
  60. data/spec/mongoid/findable_spec.rb +1 -1
  61. data/spec/mongoid/matchable/nor_spec.rb +209 -0
  62. data/spec/mongoid/matchable_spec.rb +26 -1
  63. data/spec/mongoid/persistable/incrementable_spec.rb +6 -6
  64. data/spec/mongoid/persistable/settable_spec.rb +35 -1
  65. data/spec/mongoid/query_cache_spec.rb +73 -18
  66. data/spec/mongoid/relations/embedded/many_spec.rb +246 -16
  67. data/spec/mongoid/scopable_spec.rb +13 -0
  68. data/spec/mongoid/threaded_spec.rb +68 -0
  69. data/spec/rails/controller_extension/controller_runtime_spec.rb +110 -0
  70. data/spec/spec_helper.rb +9 -0
  71. data/spec/support/cluster_config.rb +158 -0
  72. data/spec/support/constraints.rb +101 -0
  73. data/spec/support/macros.rb +20 -0
  74. data/spec/support/spec_config.rb +42 -0
  75. metadata +41 -23
  76. metadata.gz.sig +0 -0
@@ -34,6 +34,10 @@ end
34
34
 
35
35
  require 'support/authorization'
36
36
  require 'support/expectations'
37
+ require 'support/macros'
38
+ require 'support/spec_config'
39
+ require 'support/cluster_config'
40
+ require 'support/constraints'
37
41
 
38
42
  # Give MongoDB time to start up on the travis ci environment.
39
43
  if (ENV['CI'] == 'travis' || ENV['CI'] == 'evergreen')
@@ -127,8 +131,13 @@ end
127
131
  I18n.config.enforce_available_locales = false
128
132
 
129
133
  RSpec.configure do |config|
134
+ config.expect_with(:rspec) do |c|
135
+ c.syntax = [:should, :expect]
136
+ end
137
+
130
138
  config.raise_errors_for_deprecations!
131
139
  config.include(Mongoid::Expectations)
140
+ config.extend(Constraints)
132
141
 
133
142
  config.before(:suite) do
134
143
  client = Mongo::Client.new(["#{HOST}:#{PORT}"])
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'singleton'
5
+
6
+ class ClusterConfig
7
+ include Singleton
8
+
9
+ def single_server?
10
+ determine_cluster_config
11
+ @single_server
12
+ end
13
+
14
+ def replica_set_name
15
+ determine_cluster_config
16
+ @replica_set_name
17
+ end
18
+
19
+ def server_version
20
+ determine_cluster_config
21
+ @server_version
22
+ end
23
+
24
+ def short_server_version
25
+ server_version.split('.')[0..1].join('.')
26
+ end
27
+
28
+ def fcv
29
+ determine_cluster_config
30
+ @fcv
31
+ end
32
+
33
+ # Per https://jira.mongodb.org/browse/SERVER-39052, working with FCV
34
+ # in sharded topologies is annoying. Also, FCV doesn't exist in servers
35
+ # less than 3.4. This method returns FCV on 3.4+ servers when in single
36
+ # or RS topologies, and otherwise returns the major.minor server version.
37
+ def fcv_ish
38
+ if server_version >= '3.4' && topology != :sharded
39
+ fcv
40
+ else
41
+ if short_server_version == '4.1'
42
+ '4.2'
43
+ else
44
+ short_server_version
45
+ end
46
+ end
47
+ end
48
+
49
+ def primary_address
50
+ determine_cluster_config
51
+ @primary_address
52
+ end
53
+
54
+ def primary_address_str
55
+ determine_cluster_config
56
+ @primary_address.seed
57
+ end
58
+
59
+ def primary_address_host
60
+ both = primary_address_str
61
+ both.split(':').first
62
+ end
63
+
64
+ def primary_address_port
65
+ both = primary_address_str
66
+ both.split(':')[1] || 27017
67
+ end
68
+
69
+ def primary_description
70
+ determine_cluster_config
71
+ @primary_description
72
+ end
73
+
74
+ # Try running a command on the admin database to see if the mongod was
75
+ # started with auth.
76
+ def auth_enabled?
77
+ if @auth_enabled.nil?
78
+ @auth_enabled = begin
79
+ basic_client.use(:admin).command(getCmdLineOpts: 1).first["argv"].include?("--auth")
80
+ rescue => e
81
+ e.message =~ /(not authorized)|(unauthorized)|(no users authenticated)|(requires authentication)/
82
+ end
83
+ end
84
+ @auth_enabled
85
+ end
86
+
87
+ def topology
88
+ determine_cluster_config
89
+ @topology
90
+ end
91
+
92
+ def storage_engine
93
+ @storage_engine ||= begin
94
+ # 2.6 does not have wired tiger
95
+ if short_server_version == '2.6'
96
+ :mmapv1
97
+ else
98
+ client = ClientRegistry.instance.global_client('root_authorized')
99
+ if topology == :sharded
100
+ shards = client.use(:admin).command(listShards: 1).first
101
+ shard = shards['shards'].first
102
+ address_str = shard['host'].sub(/^.*\//, '').sub(/,.*/, '')
103
+ client = ClusterTools.instance.direct_client(address_str,
104
+ SpecConfig.instance.test_options.merge(SpecConfig.instance.auth_options).merge(connect: :direct))
105
+ end
106
+ rv = client.use(:admin).command(serverStatus: 1).first
107
+ rv = rv['storageEngine']['name']
108
+ rv_map = {
109
+ 'wiredTiger' => :wired_tiger,
110
+ 'mmapv1' => :mmapv1,
111
+ }
112
+ rv_map[rv] || rv
113
+ end
114
+ end
115
+ end
116
+
117
+ private
118
+
119
+ def determine_cluster_config
120
+ return if @primary_address
121
+
122
+ # Run all commands to figure out the cluster configuration from the same
123
+ # client. This is somewhat wasteful when running a single test, but reduces
124
+ # test runtime for the suite overall because all commands are sent on the
125
+ # same connection rather than each command connecting to the cluster by
126
+ # itself.
127
+ client = Mongoid::Clients.default
128
+
129
+ primary = client.cluster.next_primary
130
+ @primary_address = primary.address
131
+ @primary_description = primary.description
132
+ @replica_set_name = client.cluster.topology.replica_set_name
133
+
134
+ @topology ||= begin
135
+ topology = client.cluster.topology.class.name.sub(/.*::/, '')
136
+ topology = topology.gsub(/([A-Z])/) { |match| '_' + match.downcase }.sub(/^_/, '')
137
+ if topology =~ /^replica_set/
138
+ topology = 'replica_set'
139
+ end
140
+ topology.to_sym
141
+ end
142
+
143
+ @single_server = client.cluster.send(:servers_list).length == 1
144
+
145
+ @server_version = client.database.command(buildInfo: 1).first['version']
146
+
147
+ if @topology != :sharded && short_server_version >= '3.4'
148
+ rv = client.use(:admin).command(getParameter: 1, featureCompatibilityVersion: 1).first['featureCompatibilityVersion']
149
+ @fcv = rv['version'] || rv
150
+ end
151
+ end
152
+
153
+ def basic_client
154
+ # Do not cache the result here so that if the client gets closed,
155
+ # client registry reconnects it in subsequent tests
156
+ ClientRegistry.instance.global_client('basic')
157
+ end
158
+ end
@@ -0,0 +1,101 @@
1
+ module Constraints
2
+ RAILS_VERSION = ActiveSupport.version.to_s.split('.')[0..1].join('.').freeze
3
+
4
+ def min_rails_version(version)
5
+ unless version =~ /^\d+\.\d+$/
6
+ raise ArgumentError, "Version can only be major.minor: #{version}"
7
+ end
8
+
9
+ before do
10
+ if version > RAILS_VERSION
11
+ skip "Rails version #{version} or higher required, we have #{RAILS_VERSION}"
12
+ end
13
+ end
14
+ end
15
+
16
+ def max_rails_version(version)
17
+ unless version =~ /^\d+\.\d+$/
18
+ raise ArgumentError, "Version can only be major.minor: #{version}"
19
+ end
20
+
21
+ before do
22
+ if version < RAILS_VERSION
23
+ skip "Rails version #{version} or lower required, we have #{RAILS_VERSION}"
24
+ end
25
+ end
26
+ end
27
+
28
+ def min_server_version(version)
29
+ unless version =~ /^\d+\.\d+$/
30
+ raise ArgumentError, "Version can only be major.minor: #{version}"
31
+ end
32
+
33
+ before do
34
+ if version > ClusterConfig.instance.server_version
35
+ skip "Server version #{version} or higher required, we have #{ClusterConfig.instance.server_version}"
36
+ end
37
+ end
38
+ end
39
+
40
+ def max_server_version(version)
41
+ unless version =~ /^\d+\.\d+$/
42
+ raise ArgumentError, "Version can only be major.minor: #{version}"
43
+ end
44
+
45
+ before do
46
+ if version < ClusterConfig.instance.short_server_version
47
+ skip "Server version #{version} or lower required, we have #{ClusterConfig.instance.server_version}"
48
+ end
49
+ end
50
+ end
51
+
52
+ def require_topology(*topologies)
53
+ topologies = topologies.map { |t| t.to_s }
54
+ invalid_topologies = topologies - %w(single replica_set sharded)
55
+ unless invalid_topologies.empty?
56
+ raise ArgumentError, "Invalid topologies requested: #{invalid_topologies.join(', ')}"
57
+ end
58
+ before do
59
+ topology = Mongoid.default_client.cluster.topology.class.name.sub(/.*::/, '')
60
+ topology = topology.gsub(/([A-Z])/) { |match| '_' + match.downcase }.sub(/^_/, '')
61
+ if topology =~ /^replica_set/
62
+ topology = 'replica_set'
63
+ end
64
+ unless topologies.include?(topology)
65
+ skip "Topology #{topologies.join(' or ')} required, we have #{topology}"
66
+ end
67
+ end
68
+ end
69
+
70
+ def max_example_run_time(timeout)
71
+ around do |example|
72
+ TimeoutInterrupt.timeout(timeout) do
73
+ example.run
74
+ end
75
+ end
76
+ end
77
+
78
+ def require_transaction_support
79
+ min_server_version '4.0'
80
+ require_topology :replica_set
81
+ end
82
+
83
+ def require_scram_sha_256_support
84
+ before do
85
+ $mongo_server_features ||= begin
86
+ scanned_client_server!.features
87
+ end
88
+ unless $mongo_server_features.scram_sha_256_enabled?
89
+ skip "SCRAM SHA 256 is not enabled on the server"
90
+ end
91
+ end
92
+ end
93
+
94
+ def require_ssl
95
+ before do
96
+ unless SpecConfig.instance.ssl?
97
+ skip "SSL not enabled"
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mongoid
4
+ module Macros
5
+ def use_spec_mongoid_config
6
+ around do |example|
7
+ config_path = File.join(File.dirname(__FILE__), "..", "config", "mongoid.yml")
8
+
9
+ Mongoid::Clients.clear
10
+ Mongoid.load!(config_path, :test)
11
+
12
+ begin
13
+ example.run
14
+ ensure
15
+ Mongoid::Config.reset
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+ # encoding: utf-8
3
+
4
+ require 'singleton'
5
+
6
+ class SpecConfig
7
+ include Singleton
8
+
9
+ def initialize
10
+ if ENV['MONGODB_URI']
11
+ @mongodb_uri = Mongo::URI.new(ENV['MONGODB_URI'])
12
+ end
13
+ end
14
+
15
+ def addresses
16
+ if @mongodb_uri
17
+ @mongodb_uri.servers
18
+ else
19
+ ['127.0.0.1']
20
+ end
21
+ end
22
+
23
+ def mri?
24
+ !jruby?
25
+ end
26
+
27
+ def jruby?
28
+ RUBY_PLATFORM =~ /\bjava\b/
29
+ end
30
+
31
+ def platform
32
+ RUBY_PLATFORM
33
+ end
34
+
35
+ def client_debug?
36
+ %w(1 true yes).include?((ENV['CLIENT_DEBUG'] || '').downcase)
37
+ end
38
+
39
+ def ci?
40
+ !!ENV['CI']
41
+ end
42
+ end
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: 6.4.0
4
+ version: 6.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Durran Jordan
@@ -10,27 +10,26 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- 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
- 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
- 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
- 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
- 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
- bAM9za6Z0fAH4g02bqM1NGnw8zJQrE/PFrFfY6IFCT2AsLfOwr1maVm7iU1+kdVI
19
- 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
- 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
- 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
- 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
- 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
- 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
- QDEwZ2VuLmNvbTAgBgNVHRIEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5jb20wDQYJ
26
- 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
- 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
- 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
- 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
- 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
- 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
30
+ Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
32
31
  -----END CERTIFICATE-----
33
- date: 2018-03-12 00:00:00.000000000 Z
32
+ date: 2020-10-13 00:00:00.000000000 Z
34
33
  dependencies:
35
34
  - !ruby/object:Gem::Dependency
36
35
  name: activemodel
@@ -265,6 +264,7 @@ files:
265
264
  - lib/mongoid/matchable/lte.rb
266
265
  - lib/mongoid/matchable/ne.rb
267
266
  - lib/mongoid/matchable/nin.rb
267
+ - lib/mongoid/matchable/nor.rb
268
268
  - lib/mongoid/matchable/or.rb
269
269
  - lib/mongoid/matchable/regexp.rb
270
270
  - lib/mongoid/matchable/size.rb
@@ -287,6 +287,7 @@ files:
287
287
  - lib/mongoid/positional.rb
288
288
  - lib/mongoid/query_cache.rb
289
289
  - lib/mongoid/railtie.rb
290
+ - lib/mongoid/railties/controller_runtime.rb
290
291
  - lib/mongoid/railties/database.rake
291
292
  - lib/mongoid/relations.rb
292
293
  - lib/mongoid/relations/accessors.rb
@@ -397,6 +398,7 @@ files:
397
398
  - spec/app/models/animal.rb
398
399
  - spec/app/models/answer.rb
399
400
  - spec/app/models/appointment.rb
401
+ - spec/app/models/array_field.rb
400
402
  - spec/app/models/article.rb
401
403
  - spec/app/models/artist.rb
402
404
  - spec/app/models/artwork.rb
@@ -439,6 +441,7 @@ files:
439
441
  - spec/app/models/country_code.rb
440
442
  - spec/app/models/courier_job.rb
441
443
  - spec/app/models/definition.rb
444
+ - spec/app/models/delegating_patient.rb
442
445
  - spec/app/models/description.rb
443
446
  - spec/app/models/dictionary.rb
444
447
  - spec/app/models/division.rb
@@ -593,6 +596,7 @@ files:
593
596
  - spec/app/models/word_origin.rb
594
597
  - spec/app/models/writer.rb
595
598
  - spec/config/mongoid.yml
599
+ - spec/integration/document_spec.rb
596
600
  - spec/mongoid/atomic/modifiers_spec.rb
597
601
  - spec/mongoid/atomic/paths/embedded/many_spec.rb
598
602
  - spec/mongoid/atomic/paths/embedded/one_spec.rb
@@ -751,6 +755,7 @@ files:
751
755
  - spec/mongoid/matchable/lte_spec.rb
752
756
  - spec/mongoid/matchable/ne_spec.rb
753
757
  - spec/mongoid/matchable/nin_spec.rb
758
+ - spec/mongoid/matchable/nor_spec.rb
754
759
  - spec/mongoid/matchable/or_spec.rb
755
760
  - spec/mongoid/matchable/regexp_spec.rb
756
761
  - spec/mongoid/matchable/size_spec.rb
@@ -848,10 +853,15 @@ files:
848
853
  - spec/mongoid/validatable/uniqueness_spec.rb
849
854
  - spec/mongoid/validatable_spec.rb
850
855
  - spec/mongoid_spec.rb
856
+ - spec/rails/controller_extension/controller_runtime_spec.rb
851
857
  - spec/rails/mongoid_spec.rb
852
858
  - spec/spec_helper.rb
853
859
  - spec/support/authorization.rb
860
+ - spec/support/cluster_config.rb
861
+ - spec/support/constraints.rb
854
862
  - spec/support/expectations.rb
863
+ - spec/support/macros.rb
864
+ - spec/support/spec_config.rb
855
865
  homepage: http://mongoid.org
856
866
  licenses:
857
867
  - MIT
@@ -871,8 +881,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
871
881
  - !ruby/object:Gem::Version
872
882
  version: 1.3.6
873
883
  requirements: []
874
- rubyforge_project: mongoid
875
- rubygems_version: 2.7.3
884
+ rubygems_version: 3.0.3
876
885
  signing_key:
877
886
  specification_version: 4
878
887
  summary: Elegant Persistence in Ruby for MongoDB.
@@ -1116,6 +1125,7 @@ test_files:
1116
1125
  - spec/mongoid/validatable/length_spec.rb
1117
1126
  - spec/mongoid/document_spec.rb
1118
1127
  - spec/mongoid/matchable/regexp_spec.rb
1128
+ - spec/mongoid/matchable/nor_spec.rb
1119
1129
  - spec/mongoid/matchable/lte_spec.rb
1120
1130
  - spec/mongoid/matchable/ne_spec.rb
1121
1131
  - spec/mongoid/matchable/in_spec.rb
@@ -1193,6 +1203,7 @@ test_files:
1193
1203
  - spec/app/models/store_as_dup_test2.rb
1194
1204
  - spec/app/models/agent.rb
1195
1205
  - spec/app/models/shipment_address.rb
1206
+ - spec/app/models/array_field.rb
1196
1207
  - spec/app/models/kangaroo.rb
1197
1208
  - spec/app/models/my_hash.rb
1198
1209
  - spec/app/models/favorite.rb
@@ -1253,6 +1264,7 @@ test_files:
1253
1264
  - spec/app/models/question.rb
1254
1265
  - spec/app/models/implant.rb
1255
1266
  - spec/app/models/id_key.rb
1267
+ - spec/app/models/delegating_patient.rb
1256
1268
  - spec/app/models/palette.rb
1257
1269
  - spec/app/models/owner.rb
1258
1270
  - spec/app/models/address_component.rb
@@ -1342,7 +1354,13 @@ test_files:
1342
1354
  - spec/app/models/kaleidoscope.rb
1343
1355
  - spec/app/models/artwork.rb
1344
1356
  - spec/config/mongoid.yml
1357
+ - spec/integration/document_spec.rb
1345
1358
  - spec/mongoid_spec.rb
1359
+ - spec/support/constraints.rb
1360
+ - spec/support/macros.rb
1346
1361
  - spec/support/expectations.rb
1347
1362
  - spec/support/authorization.rb
1363
+ - spec/support/spec_config.rb
1364
+ - spec/support/cluster_config.rb
1365
+ - spec/rails/controller_extension/controller_runtime_spec.rb
1348
1366
  - spec/rails/mongoid_spec.rb