mongoid_orderable 5.0.0 → 6.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +83 -22
  3. data/LICENSE.txt +20 -0
  4. data/README.md +256 -149
  5. data/Rakefile +24 -6
  6. data/lib/config/locales/en.yml +12 -9
  7. data/lib/mongoid/orderable.rb +29 -22
  8. data/lib/mongoid/orderable/configs/field_config.rb +79 -0
  9. data/lib/mongoid/orderable/configs/global_config.rb +26 -0
  10. data/lib/mongoid/orderable/errors/invalid_target_position.rb +19 -18
  11. data/lib/mongoid/orderable/errors/transaction_failed.rb +20 -0
  12. data/lib/mongoid/orderable/generators/base.rb +21 -0
  13. data/lib/mongoid/orderable/generators/helpers.rb +29 -0
  14. data/lib/mongoid/orderable/generators/listable.rb +41 -0
  15. data/lib/mongoid/orderable/generators/lock_collection.rb +37 -0
  16. data/lib/mongoid/orderable/generators/movable.rb +62 -0
  17. data/lib/mongoid/orderable/generators/position.rb +26 -0
  18. data/lib/mongoid/orderable/generators/scope.rb +26 -0
  19. data/lib/mongoid/orderable/handlers/base.rb +167 -0
  20. data/lib/mongoid/orderable/handlers/document.rb +24 -0
  21. data/lib/mongoid/orderable/handlers/document_embedded.rb +14 -0
  22. data/lib/mongoid/orderable/handlers/document_transactional.rb +35 -0
  23. data/lib/mongoid/orderable/handlers/transaction.rb +71 -0
  24. data/lib/mongoid/orderable/installer.rb +63 -0
  25. data/lib/mongoid/orderable/mixins/callbacks.rb +43 -0
  26. data/lib/mongoid/orderable/mixins/helpers.rb +39 -0
  27. data/lib/mongoid/orderable/mixins/listable.rb +49 -0
  28. data/lib/mongoid/orderable/mixins/movable.rb +60 -0
  29. data/lib/mongoid/orderable/version.rb +7 -0
  30. data/lib/mongoid_orderable.rb +33 -54
  31. data/spec/integration/concurrency_spec.rb +232 -0
  32. data/spec/integration/customized_spec.rb +31 -0
  33. data/spec/integration/embedded_spec.rb +41 -0
  34. data/spec/integration/foreign_key_spec.rb +33 -0
  35. data/spec/integration/inherited_spec.rb +54 -0
  36. data/spec/integration/multiple_fields_spec.rb +554 -0
  37. data/spec/integration/multiple_scoped_spec.rb +63 -0
  38. data/spec/integration/no_indexed_spec.rb +23 -0
  39. data/spec/integration/scoped_spec.rb +151 -0
  40. data/spec/integration/simple_spec.rb +184 -0
  41. data/spec/integration/string_scoped_spec.rb +28 -0
  42. data/spec/integration/zero_based_spec.rb +161 -0
  43. data/spec/spec_helper.rb +42 -30
  44. data/spec/support/models.rb +122 -0
  45. metadata +75 -41
  46. data/.gitignore +0 -4
  47. data/.rspec +0 -2
  48. data/.rvmrc +0 -1
  49. data/.travis.yml +0 -14
  50. data/Gemfile +0 -18
  51. data/lib/mongoid/orderable/callbacks.rb +0 -75
  52. data/lib/mongoid/orderable/configuration.rb +0 -60
  53. data/lib/mongoid/orderable/errors.rb +0 -2
  54. data/lib/mongoid/orderable/errors/mongoid_orderable_error.rb +0 -14
  55. data/lib/mongoid/orderable/generator.rb +0 -34
  56. data/lib/mongoid/orderable/generator/helpers.rb +0 -29
  57. data/lib/mongoid/orderable/generator/listable.rb +0 -41
  58. data/lib/mongoid/orderable/generator/movable.rb +0 -62
  59. data/lib/mongoid/orderable/generator/position.rb +0 -26
  60. data/lib/mongoid/orderable/generator/scope.rb +0 -17
  61. data/lib/mongoid/orderable/helpers.rb +0 -50
  62. data/lib/mongoid/orderable/listable.rb +0 -49
  63. data/lib/mongoid/orderable/movable.rb +0 -58
  64. data/lib/mongoid/orderable/orderable_class.rb +0 -51
  65. data/lib/mongoid_orderable/mongoid/contexts/enumerable.rb +0 -15
  66. data/lib/mongoid_orderable/mongoid/contexts/mongo.rb +0 -18
  67. data/lib/mongoid_orderable/mongoid/contextual/memory.rb +0 -15
  68. data/lib/mongoid_orderable/mongoid/criteria.rb +0 -4
  69. data/lib/mongoid_orderable/version.rb +0 -3
  70. data/mongoid_orderable.gemspec +0 -26
  71. data/spec/mongoid/orderable_spec.rb +0 -1413
@@ -0,0 +1,161 @@
1
+ require 'spec_helper'
2
+
3
+ describe ZeroBasedOrderable do
4
+
5
+ shared_examples_for 'zero_based_orderable' do
6
+
7
+ before :each do
8
+ 5.times { ZeroBasedOrderable.create! }
9
+ end
10
+
11
+ def positions
12
+ ZeroBasedOrderable.pluck(:position).sort
13
+ end
14
+
15
+ it 'should have a orderable base of 0' do
16
+ expect(ZeroBasedOrderable.create!.orderable_top).to eq(0)
17
+ end
18
+
19
+ it 'should set proper position while creation' do
20
+ expect(positions).to eq([0, 1, 2, 3, 4])
21
+ end
22
+
23
+ describe 'reset position' do
24
+ before { ZeroBasedOrderable.update_all(position: nil) }
25
+ it 'should properly reset position' do
26
+ ZeroBasedOrderable.all.map(&:save)
27
+ expect(positions).to eq([0, 1, 2, 3, 4])
28
+ end
29
+ end
30
+
31
+ describe 'removement' do
32
+ it 'top' do
33
+ ZeroBasedOrderable.where(position: 0).destroy
34
+ expect(positions).to eq([0, 1, 2, 3])
35
+ end
36
+
37
+ it 'bottom' do
38
+ ZeroBasedOrderable.where(position: 4).destroy
39
+ expect(positions).to eq([0, 1, 2, 3])
40
+ end
41
+
42
+ it 'middle' do
43
+ ZeroBasedOrderable.where(position: 2).destroy
44
+ expect(positions).to eq([0, 1, 2, 3])
45
+ end
46
+ end
47
+
48
+ describe 'inserting' do
49
+ it 'top' do
50
+ newbie = ZeroBasedOrderable.create! move_to: :top
51
+ expect(positions).to eq([0, 1, 2, 3, 4, 5])
52
+ expect(newbie.position).to eq(0)
53
+ end
54
+
55
+ it 'bottom' do
56
+ newbie = ZeroBasedOrderable.create! move_to: :bottom
57
+ expect(positions).to eq([0, 1, 2, 3, 4, 5])
58
+ expect(newbie.position).to eq(5)
59
+ end
60
+
61
+ it 'middle' do
62
+ newbie = ZeroBasedOrderable.create! move_to: 3
63
+ expect(positions).to eq([0, 1, 2, 3, 4, 5])
64
+ expect(newbie.position).to eq(3)
65
+ end
66
+
67
+ it 'middle (with a numeric string)' do
68
+ newbie = ZeroBasedOrderable.create! move_to: '3'
69
+ expect(positions).to eq([0, 1, 2, 3, 4, 5])
70
+ expect(newbie.position).to eq(3)
71
+ end
72
+
73
+ it 'middle (with a non-numeric string)' do
74
+ expect do
75
+ ZeroBasedOrderable.create! move_to: 'three'
76
+ end.to raise_error Mongoid::Orderable::Errors::InvalidTargetPosition
77
+ end
78
+ end
79
+
80
+ describe 'movement' do
81
+ it 'higher from top' do
82
+ record = ZeroBasedOrderable.where(position: 0).first
83
+ record.update_attributes move_to: :higher
84
+ expect(positions).to eq([0, 1, 2, 3, 4])
85
+ expect(record.reload.position).to eq(0)
86
+ end
87
+
88
+ it 'higher from bottom' do
89
+ record = ZeroBasedOrderable.where(position: 4).first
90
+ record.update_attributes move_to: :higher
91
+ expect(positions).to eq([0, 1, 2, 3, 4])
92
+ expect(record.reload.position).to eq(3)
93
+ end
94
+
95
+ it 'higher from middle' do
96
+ record = ZeroBasedOrderable.where(position: 3).first
97
+ record.update_attributes move_to: :higher
98
+ expect(positions).to eq([0, 1, 2, 3, 4])
99
+ expect(record.reload.position).to eq(2)
100
+ end
101
+
102
+ it 'lower from top' do
103
+ record = ZeroBasedOrderable.where(position: 0).first
104
+ record.update_attributes move_to: :lower
105
+ expect(positions).to eq([0, 1, 2, 3, 4])
106
+ expect(record.reload.position).to eq(1)
107
+ end
108
+
109
+ it 'lower from bottom' do
110
+ record = ZeroBasedOrderable.where(position: 4).first
111
+ record.update_attributes move_to: :lower
112
+ expect(positions).to eq([0, 1, 2, 3, 4])
113
+ expect(record.reload.position).to eq(4)
114
+ end
115
+
116
+ it 'lower from middle' do
117
+ record = ZeroBasedOrderable.where(position: 2).first
118
+ record.update_attributes move_to: :lower
119
+ expect(positions).to eq([0, 1, 2, 3, 4])
120
+ expect(record.reload.position).to eq(3)
121
+ end
122
+
123
+ it 'does nothing if position not change' do
124
+ record = ZeroBasedOrderable.where(position: 3).first
125
+ record.save
126
+ expect(positions).to eq([0, 1, 2, 3, 4])
127
+ expect(record.reload.position).to eq(3)
128
+ end
129
+ end
130
+
131
+ describe 'utility methods' do
132
+ it 'should return a collection of items lower/higher on the list for next_items/previous_items' do
133
+ record1 = ZeroBasedOrderable.where(position: 0).first
134
+ record2 = ZeroBasedOrderable.where(position: 1).first
135
+ record3 = ZeroBasedOrderable.where(position: 2).first
136
+ record4 = ZeroBasedOrderable.where(position: 3).first
137
+ record5 = ZeroBasedOrderable.where(position: 4).first
138
+ expect(record1.next_items.to_a).to eq([record2, record3, record4, record5])
139
+ expect(record5.previous_items.to_a).to eq([record1, record2, record3, record4])
140
+ expect(record3.previous_items.to_a).to eq([record1, record2])
141
+ expect(record3.next_items.to_a).to eq([record4, record5])
142
+ expect(record1.next_item).to eq(record2)
143
+ expect(record2.previous_item).to eq(record1)
144
+ expect(record1.previous_item).to eq(nil)
145
+ expect(record5.next_item).to eq(nil)
146
+ end
147
+ end
148
+ end
149
+
150
+ context 'with transactions' do
151
+ enable_transactions!
152
+
153
+ it_behaves_like 'zero_based_orderable'
154
+ end
155
+
156
+ context 'without transactions' do
157
+ disable_transactions!
158
+
159
+ it_behaves_like 'zero_based_orderable'
160
+ end
161
+ end
@@ -1,30 +1,42 @@
1
- require 'bundler'
2
- Bundler.require
3
-
4
- if ::Mongoid::Compatibility::Version.mongoid2?
5
- Mongoid.configure do |config|
6
- config.master = Mongo::Connection.new.db 'mongoid_orderable_test'
7
- config.logger = nil
8
- end
9
- else
10
- Mongoid.configure do |config|
11
- config.connect_to 'mongoid_orderable_test'
12
- end
13
- end
14
-
15
- unless Mongoid::Compatibility::Version.mongoid2?
16
- Mongoid.logger.level = Logger::INFO
17
- Mongo::Logger.logger.level = Logger::INFO if Mongoid::Compatibility::Version.mongoid5?
18
- end
19
-
20
- RSpec.configure do |config|
21
- config.after(:all) do
22
- if Mongoid::Compatibility::Version.mongoid2?
23
- Mongoid.master.connection.drop_database(Mongoid.database.name)
24
- elsif Mongoid::Compatibility::Version.mongoid3? || Mongoid::Compatibility::Version.mongoid4?
25
- Mongoid.default_session.drop
26
- else
27
- Mongoid::Clients.default.database.drop
28
- end
29
- end
30
- end
1
+ require 'bundler'
2
+ Bundler.require
3
+ require 'rspec'
4
+ require 'rspec/retry'
5
+
6
+ Mongoid.configure do |config|
7
+ config.connect_to 'mongoid_orderable_test'
8
+ end
9
+
10
+ Mongoid.logger.level = Logger::INFO
11
+ Mongo::Logger.logger.level = Logger::INFO
12
+ Mongoid::Config.belongs_to_required_by_default = false
13
+
14
+ RSpec.configure do |config|
15
+ config.order = 'random'
16
+
17
+ config.before(:each) do
18
+ Mongoid.purge!
19
+ Mongoid.models.each do |model|
20
+ model.create_indexes if model.name =~ /Mongoid::Orderable::Models/
21
+ end
22
+ end
23
+ end
24
+
25
+ require_relative 'support/models'
26
+
27
+ def set_transactions(enabled)
28
+ Mongoid.models.each do |model|
29
+ next unless model.respond_to?(:orderable_configs)
30
+ model.orderable_configs.values.each do |config|
31
+ config[:use_transactions] = enabled
32
+ end
33
+ end
34
+ end
35
+
36
+ def enable_transactions!
37
+ before { set_transactions(true) }
38
+ end
39
+
40
+ def disable_transactions!
41
+ before { set_transactions(false) }
42
+ end
@@ -0,0 +1,122 @@
1
+
2
+
3
+ Mongoid::Orderable.configure do |c|
4
+ c.use_transactions = true
5
+ c.transaction_max_retries = 100
6
+ c.lock_collection = :foo_bar_locks
7
+ end
8
+
9
+ class SimpleOrderable
10
+ include Mongoid::Document
11
+ include Mongoid::Orderable
12
+
13
+ orderable
14
+ end
15
+
16
+ class ScopedGroup
17
+ include Mongoid::Document
18
+
19
+ has_many :scoped_orderables
20
+ has_many :multiple_fields_orderables
21
+ end
22
+
23
+ class ScopedOrderable
24
+ include Mongoid::Document
25
+ include Mongoid::Orderable
26
+
27
+ belongs_to :group, class_name: 'ScopedGroup', optional: true
28
+
29
+ orderable scope: :group
30
+ end
31
+
32
+ class StringScopedOrderable
33
+ include Mongoid::Document
34
+ include Mongoid::Orderable
35
+
36
+ field :some_scope, type: Integer
37
+
38
+ orderable scope: 'some_scope'
39
+ end
40
+
41
+ class EmbedsOrderable
42
+ include Mongoid::Document
43
+
44
+ embeds_many :embedded_orderables
45
+ end
46
+
47
+ class EmbeddedOrderable
48
+ include Mongoid::Document
49
+ include Mongoid::Orderable
50
+
51
+ embedded_in :embeds_orderable
52
+
53
+ orderable
54
+ end
55
+
56
+ class CustomizedOrderable
57
+ include Mongoid::Document
58
+ include Mongoid::Orderable
59
+
60
+ orderable field: :pos, as: :my_position
61
+ end
62
+
63
+ class NoIndexOrderable
64
+ include Mongoid::Document
65
+ include Mongoid::Orderable
66
+
67
+ orderable index: false
68
+ end
69
+
70
+ class ZeroBasedOrderable
71
+ include Mongoid::Document
72
+ include Mongoid::Orderable
73
+
74
+ orderable base: 0
75
+ end
76
+
77
+ class InheritedOrderable
78
+ include Mongoid::Document
79
+ include Mongoid::Orderable
80
+
81
+ orderable inherited: true
82
+ end
83
+
84
+ class Apple < InheritedOrderable
85
+ orderable field: :serial
86
+ end
87
+
88
+ class Orange < InheritedOrderable
89
+ end
90
+
91
+ class ForeignKeyDiffersOrderable
92
+ include Mongoid::Document
93
+ include Mongoid::Orderable
94
+
95
+ belongs_to :different_scope, class_name: 'ForeignKeyDiffersOrderable',
96
+ foreign_key: 'different_orderable_id',
97
+ optional: true
98
+
99
+ orderable scope: :different_scope
100
+ end
101
+
102
+ class MultipleFieldsOrderable
103
+ include Mongoid::Document
104
+ include Mongoid::Orderable
105
+
106
+ belongs_to :group, class_name: 'ScopedGroup', optional: true
107
+
108
+ orderable field: :pos, base: 0, index: false, as: :position
109
+ orderable field: :serial_no, default: true
110
+ orderable field: :groups, scope: :group
111
+ end
112
+
113
+ class MultipleScopedOrderable
114
+ include Mongoid::Document
115
+ include Mongoid::Orderable
116
+
117
+ belongs_to :apple, optional: true
118
+ belongs_to :orange, optional: true
119
+
120
+ orderable field: :posa, scope: :apple_id
121
+ orderable field: :poso, scope: :orange_id
122
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_orderable
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 6.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - pyromaniac
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-21 00:00:00.000000000 Z
11
+ date: 2021-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -30,22 +30,22 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 3.0.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 3.0.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: mongoid
42
+ name: rspec-retry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
- type: :runtime
48
+ type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
@@ -53,61 +53,84 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: mongoid-compatibility
56
+ name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 1.8.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.8.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: mongoid
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 7.0.0
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '0'
69
- description: Gem allows mongoid model behave as orderable list
82
+ version: 7.0.0
83
+ description: Enables Mongoid models to track their position in list
70
84
  email:
71
85
  - kinwizard@gmail.com
72
86
  executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
- - ".gitignore"
77
- - ".rspec"
78
- - ".rvmrc"
79
- - ".travis.yml"
80
90
  - CHANGELOG.md
81
- - Gemfile
91
+ - LICENSE.txt
82
92
  - README.md
83
93
  - Rakefile
84
94
  - lib/config/locales/en.yml
85
95
  - lib/mongoid/orderable.rb
86
- - lib/mongoid/orderable/callbacks.rb
87
- - lib/mongoid/orderable/configuration.rb
88
- - lib/mongoid/orderable/errors.rb
96
+ - lib/mongoid/orderable/configs/field_config.rb
97
+ - lib/mongoid/orderable/configs/global_config.rb
89
98
  - lib/mongoid/orderable/errors/invalid_target_position.rb
90
- - lib/mongoid/orderable/errors/mongoid_orderable_error.rb
91
- - lib/mongoid/orderable/generator.rb
92
- - lib/mongoid/orderable/generator/helpers.rb
93
- - lib/mongoid/orderable/generator/listable.rb
94
- - lib/mongoid/orderable/generator/movable.rb
95
- - lib/mongoid/orderable/generator/position.rb
96
- - lib/mongoid/orderable/generator/scope.rb
97
- - lib/mongoid/orderable/helpers.rb
98
- - lib/mongoid/orderable/listable.rb
99
- - lib/mongoid/orderable/movable.rb
100
- - lib/mongoid/orderable/orderable_class.rb
99
+ - lib/mongoid/orderable/errors/transaction_failed.rb
100
+ - lib/mongoid/orderable/generators/base.rb
101
+ - lib/mongoid/orderable/generators/helpers.rb
102
+ - lib/mongoid/orderable/generators/listable.rb
103
+ - lib/mongoid/orderable/generators/lock_collection.rb
104
+ - lib/mongoid/orderable/generators/movable.rb
105
+ - lib/mongoid/orderable/generators/position.rb
106
+ - lib/mongoid/orderable/generators/scope.rb
107
+ - lib/mongoid/orderable/handlers/base.rb
108
+ - lib/mongoid/orderable/handlers/document.rb
109
+ - lib/mongoid/orderable/handlers/document_embedded.rb
110
+ - lib/mongoid/orderable/handlers/document_transactional.rb
111
+ - lib/mongoid/orderable/handlers/transaction.rb
112
+ - lib/mongoid/orderable/installer.rb
113
+ - lib/mongoid/orderable/mixins/callbacks.rb
114
+ - lib/mongoid/orderable/mixins/helpers.rb
115
+ - lib/mongoid/orderable/mixins/listable.rb
116
+ - lib/mongoid/orderable/mixins/movable.rb
117
+ - lib/mongoid/orderable/version.rb
101
118
  - lib/mongoid_orderable.rb
102
- - lib/mongoid_orderable/mongoid/contexts/enumerable.rb
103
- - lib/mongoid_orderable/mongoid/contexts/mongo.rb
104
- - lib/mongoid_orderable/mongoid/contextual/memory.rb
105
- - lib/mongoid_orderable/mongoid/criteria.rb
106
- - lib/mongoid_orderable/version.rb
107
- - mongoid_orderable.gemspec
108
- - spec/mongoid/orderable_spec.rb
119
+ - spec/integration/concurrency_spec.rb
120
+ - spec/integration/customized_spec.rb
121
+ - spec/integration/embedded_spec.rb
122
+ - spec/integration/foreign_key_spec.rb
123
+ - spec/integration/inherited_spec.rb
124
+ - spec/integration/multiple_fields_spec.rb
125
+ - spec/integration/multiple_scoped_spec.rb
126
+ - spec/integration/no_indexed_spec.rb
127
+ - spec/integration/scoped_spec.rb
128
+ - spec/integration/simple_spec.rb
129
+ - spec/integration/string_scoped_spec.rb
130
+ - spec/integration/zero_based_spec.rb
109
131
  - spec/spec_helper.rb
110
- homepage: ''
132
+ - spec/support/models.rb
133
+ homepage: https://github.com/mongoid/mongoid_orderable
111
134
  licenses: []
112
135
  metadata: {}
113
136
  post_install_message:
@@ -125,11 +148,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
148
  - !ruby/object:Gem::Version
126
149
  version: '0'
127
150
  requirements: []
128
- rubyforge_project: mongoid_orderable
129
- rubygems_version: 2.4.5.1
151
+ rubygems_version: 3.1.2
130
152
  signing_key:
131
153
  specification_version: 4
132
- summary: Acts as list mongoid implementation
154
+ summary: Mongoid orderable list implementation
133
155
  test_files:
134
- - spec/mongoid/orderable_spec.rb
156
+ - spec/integration/concurrency_spec.rb
157
+ - spec/integration/customized_spec.rb
158
+ - spec/integration/embedded_spec.rb
159
+ - spec/integration/foreign_key_spec.rb
160
+ - spec/integration/inherited_spec.rb
161
+ - spec/integration/multiple_fields_spec.rb
162
+ - spec/integration/multiple_scoped_spec.rb
163
+ - spec/integration/no_indexed_spec.rb
164
+ - spec/integration/scoped_spec.rb
165
+ - spec/integration/simple_spec.rb
166
+ - spec/integration/string_scoped_spec.rb
167
+ - spec/integration/zero_based_spec.rb
135
168
  - spec/spec_helper.rb
169
+ - spec/support/models.rb