mongoid_listable 0.1.3 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGY4YzBjMjJiMzExZjI2M2M2YTFmNTBkMjM5MmY0ZTMyMjNjNzYwZQ==
4
+ N2IzMjdhOTU3NzdkZTA2OWVkOTkzYTkzNjA2NmEwYmM3Y2MyN2E1OQ==
5
5
  data.tar.gz: !binary |-
6
- YmVlYmFjMDk1YmE2NjE4ZjkxZDgwZTYwMzhmOWU1ZTI2ZTcyMGZjMw==
6
+ Mzc3MGVmOWRjNmQ4Yzc3YmI0YmE3Y2I2ODU5MzcxNDliMDE2N2NiZA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- OTliYmRiODE5MTlmYzA3OTM0MjE2MWMyYzg1OWZiMGIzYmY1ZTIyYzdlZmVh
10
- MDBhMTcyMjdjMDIxZjdhOTc0OTU0YWNhMGM2YjAwNDlkNjdiOTNkM2M0OTIw
11
- YTBmOTRmNzRiOWQwNTE4MDYwNTI4ZmUzNzlhOTQxMjVhOWU2N2Q=
9
+ NjgxM2UzY2RiMDMyYWQ5ZTIzMTllZTQ3NmU4MjIzYzdlNDUwZDU2ZjJkNzFm
10
+ ODgwNmE4NTk4YzNjNWRkZWRmZjhlODU1YmIyMjkyMzAyYmY0MjZiMGMxOGY0
11
+ Zjk1Y2U2ZGFhMmFkYzg0MmEzODY2N2U3MDVlMWYxNGIyMGJmMjk=
12
12
  data.tar.gz: !binary |-
13
- YWVhZGRiNGFhZGQ3ZjA4MmE0NWQ3ZDdiNjIxYmI5NDk5OTk3OWFiYzdhNTNl
14
- MGY1NDg0ODhkYzNkNTU5MTg4ZTYxNjBjMDc2MWNkNGNlNTc2ZGJmMzdhYzAx
15
- OWQzYTRlYWY1MDhiYWEwMmI2YTRiNTZhOGU2NmJhZWRiYWU5OGI=
13
+ MTEzMjQyNmY1MmVkZWQ3ZWZmNjQ3ZDkzZjNkMmQ2NTg5ZTNkMGY4MGM3MGIz
14
+ NjI4MzBmMTczOGEzYmYxOTQyZTQzN2EyNTJhZWY4ODZjMWVhODAzOTVlMTU2
15
+ NDI1ZjRjOWYyZjg1YzcyMjkyNmMzMTEwOGY4YmFmMzY1NGM3OWM=
@@ -55,7 +55,8 @@ module Mongoid
55
55
  #
56
56
  # @since 0.1.0
57
57
  def siblings field=:position
58
- self.class.exists(field => true).ne id: id
58
+ klass = embedded? ? _parent.send(metadata.key) : self.class
59
+ klass.exists(field => true).ne id: id
59
60
  end
60
61
 
61
62
  private
@@ -37,6 +37,7 @@ module Mongoid
37
37
  def set name, meta
38
38
  before_method "#{name}=" do |objects|
39
39
  objects ||= []
40
+
40
41
  reposition objects, field_name(meta), 1
41
42
 
42
43
  (send(name).to_a - objects).each do |object|
@@ -17,10 +17,10 @@ module Mongoid
17
17
  def created name
18
18
  callback = "#{name}_#{__method__}"
19
19
  define_method callback do
20
- position = send name
20
+ position = send(name)
21
21
  if position.present?
22
- siblings = siblings(name).gte name => position
23
- reposition siblings, name, position + 1
22
+ siblings = siblings name
23
+ reposition siblings.gte(name => position), name, position + 1
24
24
  else
25
25
  set name, siblings(name).count + 1
26
26
  end
@@ -45,7 +45,6 @@ module Mongoid
45
45
  define_method callback do
46
46
  apply_change_on name if send("#{name}_changed?")
47
47
  end
48
-
49
48
  before_update callback
50
49
  self
51
50
  end
@@ -82,11 +81,16 @@ module Mongoid
82
81
  def added name, meta
83
82
  callback = "#{name.to_s.singularize}_added"
84
83
  define_method callback do |object|
85
- if object[field_name(meta)].nil?
86
- object.set field_name(meta), has_many_count(name) + 1
84
+ return unless object.new_record?
85
+ field_name = field_name(meta)
86
+ if position = object.send(field_name)
87
+ objects = object.siblings(field_name).gte(field_name => position)
88
+ reposition objects, field_name, position + 1
89
+ else
90
+ object.set field_name, has_many_count(name)
87
91
  end
88
92
  end
89
- meta[:before_add] = callback
93
+ meta[:after_add] = callback
90
94
  self
91
95
  end
92
96
 
@@ -109,7 +113,7 @@ module Mongoid
109
113
  object.unset field_name
110
114
  end
111
115
 
112
- meta[:before_remove] = callback
116
+ meta[:after_remove] = callback
113
117
  self
114
118
  end
115
119
 
@@ -140,28 +144,19 @@ module Mongoid
140
144
  # @return [Array] [from, to]
141
145
  #
142
146
  # @since 0.1.0
143
- def change_on column
144
- from, to = send "#{column}_change"
145
- to = safe_to to
147
+ def change_on name
148
+ from, to = send "#{name}_change"
149
+ from ||= 0
150
+ to = if to > siblings(name).count + 1
151
+ siblings(name).count + 1
152
+ elsif to < 1
153
+ 1
154
+ else
155
+ to
156
+ end
146
157
  [from, to]
147
158
  end
148
159
 
149
- # Ensures the 'to' value is within acceptable bounds
150
- #
151
- # @param [ Integer ] to The supplied position value
152
- # @return [ Integer ] The acceptable position value
153
- #
154
- # @since 0.1.0
155
- def safe_to to
156
- if to > self.class.count
157
- self.class.count
158
- elsif to < 1
159
- 1
160
- else
161
- to
162
- end
163
- end
164
-
165
160
  end
166
161
  end
167
162
  end
@@ -15,17 +15,14 @@ module Mongoid
15
15
  # @return self
16
16
  #
17
17
  # @since 0.1.0
18
- def listed options={}
19
- configuration = { field_name: :position }
20
- configuration.merge! options if options.is_a?(Hash)
18
+ def listed
19
+ field :position, type: Integer
21
20
 
22
- field_name = configuration[:field_name]
21
+ created(:position)
22
+ .updated(:position)
23
+ .destroyed(:position)
23
24
 
24
- field field_name, type: Integer
25
-
26
- created(field_name).updated(field_name).destroyed(field_name)
27
-
28
- scope :list, order_by(field_name => :asc)
25
+ scope :list, order_by(:position => :asc)
29
26
  self
30
27
  end
31
28
 
@@ -39,11 +36,14 @@ module Mongoid
39
36
  # @since 0.0.1
40
37
  def lists name, options={}
41
38
  meta = reflect_on_association name
39
+
42
40
  field_name = field_name(meta)
43
41
  meta.klass.send :field, field_name, type: Integer
42
+
44
43
  ids_set(name, meta).set(name, meta)
45
44
  .added(name, meta).removed(name, meta)
46
45
 
46
+ meta.klass.send :include, Mongoid::Listable
47
47
  meta.klass.updated(field_name).destroyed(field_name)
48
48
 
49
49
  meta[:order] ||= "#{field_name(meta)} asc"
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Listable
3
- VERSION = '0.1.3'
3
+ VERSION = '0.2.1'
4
4
  end
5
5
  end
@@ -0,0 +1,10 @@
1
+ class Article
2
+
3
+ include Mongoid::Document
4
+ include Mongoid::Listable
5
+
6
+ embeds_many :sections
7
+
8
+ lists :sections
9
+
10
+ end
@@ -0,0 +1,8 @@
1
+ class Item
2
+
3
+ include Mongoid::Document
4
+ include Mongoid::Listable
5
+
6
+ listed
7
+
8
+ end
data/spec/models/photo.rb CHANGED
@@ -7,6 +7,4 @@ class Photo
7
7
 
8
8
  belongs_to :user
9
9
 
10
- listed
11
-
12
10
  end
@@ -0,0 +1,7 @@
1
+ class Section
2
+
3
+ include Mongoid::Document
4
+
5
+ embedded_in :article
6
+
7
+ end
@@ -10,154 +10,306 @@ describe Mongoid::Listable do
10
10
 
11
11
  describe 'listed' do
12
12
 
13
- before :all do
14
- Photo.destroy_all
15
- 10.times { Photo.create }
13
+ before :each do
14
+ Item.destroy_all
15
+ 10.times { Item.create! }
16
16
  end
17
17
 
18
18
  after :each do
19
- ensure_order Photo.list, :position
19
+ ensure_order Item.list, :position
20
20
  end
21
21
 
22
- it 'adds an object to the beginning of a list on create' do
23
- photo = Photo.create position: 1
24
- expect(Photo.list.first.position).to eq(1)
25
- expect(photo.id).to eq(Photo.list.first.id)
22
+ it 'should have a position field' do
23
+ expect(Item.fields.key?('position')).to be_true
26
24
  end
27
25
 
28
- it 'adds an object to the middle of a list on create' do
29
- photo = Photo.create position: 5
30
- expect(Photo.list[4].position).to eq(5)
31
- expect(photo.id).to eq(Photo.list[4].id)
26
+ it 'should have a list scope' do
27
+ expect(Item.scopes.key?(:list)).to be_true
32
28
  end
33
29
 
34
- it 'adds an object to the end of a list on create' do
35
- photo = Photo.create
36
- expect(Photo.list.last.position).to eq(13)
37
- expect(photo.id).to eq(Photo.list.last.id)
30
+ it 'should append new object at position 1' do
31
+ item = Item.create position: 1
32
+ expect(item.position).to eq(1)
38
33
  end
39
34
 
40
- it 'updates the position of an object higher' do
41
- photo_id = Photo.list[1].id
42
- Photo.list[1].update_attribute :position, 4
43
- expect(photo_id).to eq(Photo.list[3].id)
44
- expect(Photo.list[3].position).to eq(4)
35
+ it 'should append new object at position 5' do
36
+ item = Item.create position: 5
37
+ expect(item.position).to eq(5)
45
38
  end
46
39
 
47
- it 'updates the position of an object lower' do
48
- photo_id = Photo.list[9].id
49
- Photo.list[9].update_attribute :position, 2
50
- expect(photo_id).to eq(Photo.list[1].id)
51
- expect(Photo.list[1].position).to eq(2)
40
+ it 'should append new object at end of list' do
41
+ item = Item.create
42
+ expect(item.position).to eq(11)
52
43
  end
53
44
 
54
- it 'updates the position of an object the same' do
55
- photo_id = Photo.list[4].id
56
- Photo.list[4].update_attribute :position, 5
57
- expect(photo_id).to eq(Photo.list[4].id)
58
- expect(Photo.list[4].position).to eq(5)
45
+ it 'should maintain order when removing object at position 1' do
46
+ Item.list.first.destroy
59
47
  end
60
48
 
61
- it 'removes an object from the beginning of a list on destroy' do
62
- Photo.list.first.destroy
63
- expect(Photo.list.first.position).to eq(1)
49
+ it 'should maintain order when removing object at position 5' do
50
+ Item.where(position: 5).destroy
64
51
  end
65
52
 
66
- it 'removes an object from the middle of a list on destroy' do
67
- Photo.list[6].destroy
68
- expect(Photo.list.first.position).to eq(1)
69
- expect(Photo.list[6].position).to eq(7)
70
- expect(Photo.list.last.position).to eq(11)
53
+ it 'should maintain order when removing object at position 10' do
54
+ Item.list.last.destroy
71
55
  end
72
56
 
73
- it 'removes an object from the end of a list on destroy' do
74
- Photo.list.last.destroy
75
- expect(Photo.list.last.position).to eq(10)
57
+ it 'should maintain order when moving object from position 1 to 5' do
58
+ item = Item.list.first
59
+ item.update_attribute :position, 5
60
+ expect(Item.list.where(position: 5).first).to eq(item)
76
61
  end
77
- end
78
-
79
- describe 'lists' do
80
-
81
- before :all do
82
- User.destroy_all
83
- Photo.destroy_all
84
62
 
85
- User.create
86
- 10.times { Photo.create }
63
+ it 'should maintain order when moving object from position 10 to 5' do
64
+ item = Item.list.last
65
+ item.update_attribute :position, 5
66
+ expect(Item.list.where(position: 5).first).to eq(item)
87
67
  end
88
68
 
89
- after :each do
90
- ensure_order User.first.photos, :user_position
69
+ it 'should maintain order when moving object from position 2 to 6' do
70
+ item = Item.list.where(position: 2).first
71
+ item.update_attribute :position, 6
72
+ expect(Item.list.where(position: 6).first).to eq(item)
91
73
  end
92
74
 
93
- it 'sets object list of an owner with the default setter' do
94
- photos = Photo.all
95
- User.first.photos = photos
96
- photos.each_with_index do |photo, index|
97
- expect(photo.id).to eq(User.first.photos[index].id)
98
- end
99
- expect(User.first.photos.count).to eq(Photo.count)
75
+ it 'should maintain order when moving object from position 8 to 4' do
76
+ item = Item.list.where(position: 8).first
77
+ item.update_attribute :position, 4
78
+ expect(Item.list.where(position: 4).first).to eq(item)
100
79
  end
101
80
 
102
- it 'sets object list of an owner with the default ids setter' do
103
- ids = Photo.all[2..7].collect(&:id)
104
- User.first.photo_ids = ids
105
- ids.each_with_index do |id, index|
106
- expect(id).to eq(User.first.photos[index].id)
107
- end
108
- expect(User.first.photos.count).to eq(6)
81
+ it 'should do nothing when assigning object to same position' do
82
+ item = Item.list.where(position: 5).first
83
+ item.update_attribute :position, 5
84
+ expect(Item.list.where(position: 5).first).to eq(item)
109
85
  end
110
86
 
111
- it 'pushes objects to the list of an owner' do
112
- User.first.photos << Photo.all
113
- expect(User.first.photos.count).to eq(10)
87
+ it 'should compensate for updated positions that are higher than bounds' do
88
+ item = Item.list.where(position: 5).first
89
+ item.update_attribute :position, 100
90
+ expect(Item.list.last).to eq(item)
114
91
  end
115
92
 
116
- it 'updates the position of an object higher' do
117
- photo_id = User.first.photos[4].id
118
- Photo.find(photo_id).update_attribute :user_position, 6
119
- expect(photo_id).to eq(User.first.photos[5].id)
120
- expect(User.first.photos[5].user_position).to eq(6)
93
+ it 'should compensate for updated positions that are lower than bounds' do
94
+ item = Item.list.where(position: 5).first
95
+ item.update_attribute :position, -100
96
+ expect(Item.list.first).to eq(item)
121
97
  end
122
98
 
123
- it 'updates the position of an object lower' do
124
- photo_id = User.first.photos[4].id
125
- Photo.find(photo_id).update_attribute :user_position, 1
126
- expect(photo_id).to eq(User.first.photos[0].id)
127
- expect(User.first.photos[0].user_position).to eq(1)
128
- end
99
+ end
129
100
 
130
- it 'updates the position of an object the same' do
131
- photo_id = User.first.photos[4].id
132
- Photo.find(photo_id).update_attribute :user_position, 5
133
- expect(photo_id).to eq(User.first.photos[4].id)
134
- expect(User.first.photos[4].user_position).to eq(5)
135
- end
101
+ describe 'lists' do
102
+
103
+ describe 'embedded' do
136
104
 
137
- it 'updates the position of an object out of bounds high' do
138
- photo_id = User.first.photos[4].id
139
- Photo.find(photo_id).update_attribute :user_position, 1000
140
- expect(photo_id).to eq(User.first.photos.last.id)
141
- expect(User.first.photos.last.user_position).to eq(User.first.photos.count)
142
- end
105
+ before :each do
106
+ Article.destroy_all
107
+ Article.create!
108
+ 10.times { Article.first.sections.create! }
109
+ end
143
110
 
144
- it 'updates the position of an object out of bounds low' do
145
- photo_id = User.first.photos[4].id
146
- Photo.find(photo_id).update_attribute :user_position, -2
147
- expect(photo_id).to eq(User.first.photos.first.id)
148
- expect(User.first.photos.first.user_position).to eq(1)
149
- end
111
+ after :each do
112
+ ensure_order Article.first.sections, :article_position
113
+ end
114
+
115
+ it 'should have a position field' do
116
+ expect(Section.fields.key?('article_position')).to be_true
117
+ end
118
+
119
+ it 'should append new objects with the default setter' do
120
+ sections = 10.times.collect { Section.new }
121
+ sections.reverse!
122
+ Article.first.sections = sections
123
+
124
+ Article.first.sections.each_with_index do |section, index|
125
+ expect(section.id).to eq(sections[index].id)
126
+ end
127
+ end
128
+
129
+ it 'should append new object at position 1' do
130
+ section = Article.first.sections.create article_position: 1
131
+ expect(section.article_position).to eq(1)
132
+ end
133
+
134
+ it 'should append new object at position 5' do
135
+ section = Article.first.sections.create article_position: 5
136
+ expect(section.article_position).to eq(5)
137
+ end
150
138
 
151
- it 'removes objects from the list of an owner with the default unsetter' do
152
- User.first.photos.delete(Photo.first)
153
- expect(User.first.photos.count).to eq(9)
139
+ it 'should append new object at end of list' do
140
+ section = Article.first.sections.create!
141
+ expect(section.article_position).to eq(11)
142
+ end
143
+
144
+ it 'should maintain order when removing object at position 1' do
145
+ Article.first.sections.first.destroy
146
+ end
147
+
148
+ it 'should maintain order when removing object at position 5' do
149
+ Article.first.sections.where(article_position: 5).first.destroy
150
+ end
151
+
152
+ it 'should maintain order when removing object at position 10' do
153
+ Article.first.sections.where(article_position: 10).first.destroy
154
+ end
155
+
156
+ it 'should maintain order when moving object from position 1 to 5' do
157
+ section = Article.first.sections.where(article_position: 1).first
158
+ section.update_attribute :article_position, 5
159
+ expect(Article.first.sections.where(article_position: 5).first).to eq(section)
160
+ end
161
+
162
+ it 'should maintain order when moving object from position 10 to 5' do
163
+ section = Article.first.sections.where(article_position: 10).first
164
+ section.update_attribute :article_position, 5
165
+ expect(Article.first.sections.where(article_position: 5).first).to eq(section)
166
+ end
167
+
168
+ it 'should maintain order when moving object from position 2 to 6' do
169
+ section = Article.first.sections.where(article_position: 2).first
170
+ section.update_attribute :article_position, 6
171
+ expect(Article.first.sections.where(article_position: 6).first).to eq(section)
172
+ end
173
+
174
+ it 'should maintain order when moving object from position 8 to 4' do
175
+ section = Article.first.sections.where(article_position: 8).first
176
+ section.update_attribute :article_position, 4
177
+ expect(Article.first.sections.where(article_position: 4).first).to eq(section)
178
+ end
179
+
180
+ it 'should do nothing when assigning object to same position' do
181
+ section = Article.first.sections.where(article_position: 5).first
182
+ section.update_attribute :article_position, 5
183
+ expect(Article.first.sections.where(article_position: 5).first).to eq(section)
184
+ end
185
+
186
+ it 'should compensate for updated positions that are higher than bounds' do
187
+ section = Article.first.sections.where(article_position: 5).first
188
+ section.update_attribute :article_position, 100
189
+ expect(Article.first.sections.last).to eq(section)
190
+ end
191
+
192
+ it 'should compensate for updated positions that are lower than bounds' do
193
+ section = Article.first.sections.where(article_position: 5).first
194
+ section.update_attribute :article_position, -100
195
+ expect(Article.first.sections.first).to eq(section)
196
+ end
197
+
154
198
  end
155
199
 
156
- it 'removes objects from the list of an owner by destroy' do
157
- Photo.all[3].destroy
158
- expect(User.first.photos.count).to eq(8)
159
- Photo.first.destroy
200
+ describe 'referenced' do
201
+
202
+ before :each do
203
+ User.destroy_all
204
+ Photo.destroy_all
205
+ User.create!
206
+ 10.times { User.first.photos.create! }
207
+ end
208
+
209
+ after :each do
210
+ ensure_order User.first.photos, :user_position
211
+ end
212
+
213
+ it 'should have a position field' do
214
+ expect(Photo.fields.key?('user_position')).to be_true
215
+ end
216
+
217
+ it 'should append new object at position 1' do
218
+ photo = User.first.photos.create user_position: 1
219
+ expect(photo.user_position).to eq(1)
220
+ end
221
+
222
+ it 'should append new object at position 5' do
223
+ photo = User.first.photos.create user_position: 5
224
+ expect(photo.user_position).to eq(5)
225
+ end
226
+
227
+ it 'should append new object at end of list' do
228
+ user = User.first.photos.create!
229
+ expect(user.user_position).to eq(11)
230
+ end
231
+
232
+ it 'should add new objects with the default setter' do
233
+ photos = 15.times.collect { Photo.create }
234
+
235
+ photos.reverse!
236
+
237
+ User.first.photos = photos
238
+
239
+ expect(User.first.photos.count).to eq(15)
240
+
241
+ User.first.photos.each_with_index do |photo, index|
242
+ expect(photos[index].id).to eq(photo.id)
243
+ end
244
+ end
245
+
246
+ it 'should add new objects with the default ids setter' do
247
+ ids = 15.times.collect { Photo.create.id }
248
+
249
+ User.first.photo_ids = ids
250
+ expect(User.first.photos.count).to eq(15)
251
+
252
+ User.first.photos.each_with_index do |photo, index|
253
+ expect(ids[index]).to eq(User.first.photos[index].id)
254
+ end
255
+ end
256
+
257
+ it 'should maintain order when removing object at position 1' do
258
+ User.first.photos.first.destroy
259
+ end
260
+
261
+ it 'should maintain order when removing object at position 5' do
262
+ User.first.photos.where(user_position: 5).first.destroy
263
+ end
264
+
265
+ it 'should maintain order when removing object at position 10' do
266
+ User.first.photos.where(user_position: 10).first.destroy
267
+ end
268
+
269
+ it 'should maintain order when moving object from position 1 to 5' do
270
+ photo = User.first.photos.where(user_position: 1).first
271
+ photo.update_attribute :user_position, 5
272
+ expect(User.first.photos.where(user_position: 5).first).to eq(photo)
273
+ end
274
+
275
+ it 'should maintain order when moving object from position 10 to 5' do
276
+ photo = User.first.photos.where(user_position: 10).first
277
+ photo.update_attribute :user_position, 5
278
+ expect(User.first.photos.where(user_position: 5).first).to eq(photo)
279
+ end
280
+
281
+ it 'should maintain order when moving object from position 2 to 6' do
282
+ photo = User.first.photos.where(user_position: 2).first
283
+ photo.update_attribute :user_position, 6
284
+ expect(User.first.photos.where(user_position: 6).first).to eq(photo)
285
+ end
286
+
287
+ it 'should maintain order when moving object from position 8 to 4' do
288
+ photo = User.first.photos.where(user_position: 8).first
289
+ photo.update_attribute :user_position, 4
290
+ expect(User.first.photos.where(user_position: 4).first).to eq(photo)
291
+ end
292
+
293
+ it 'should do nothing when assigning object to same position' do
294
+ photo = User.first.photos.where(user_position: 5).first
295
+ photo.update_attribute :user_position, 5
296
+ expect(User.first.photos.where(user_position: 5).first).to eq(photo)
297
+ end
298
+
299
+ it 'should compensate for updated positions that are higher than bounds' do
300
+ photo = User.first.photos.where(user_position: 5).first
301
+ photo.update_attribute :user_position, 100
302
+ expect(User.first.photos.last).to eq(photo)
303
+ end
304
+
305
+ it 'should compensate for updated positions that are lower than bounds' do
306
+ photo = User.first.photos.where(user_position: 5).first
307
+ photo.update_attribute :user_position, -100
308
+ expect(User.first.photos.first).to eq(photo)
309
+ end
310
+
160
311
  end
312
+
161
313
  end
162
314
 
163
315
  end
data/spec/spec_helper.rb CHANGED
@@ -7,8 +7,12 @@ if ENV['CI']
7
7
  end
8
8
 
9
9
  require File.expand_path '../../lib/mongoid_listable', __FILE__
10
+ require File.expand_path '../../spec/models/item', __FILE__
10
11
  require File.expand_path '../../spec/models/photo', __FILE__
11
12
  require File.expand_path '../../spec/models/user', __FILE__
13
+ require File.expand_path '../../spec/models/section', __FILE__
14
+ require File.expand_path '../../spec/models/article', __FILE__
15
+
12
16
 
13
17
  Mongoid.configure do |config|
14
18
  config.connect_to 'mongoid_listable_test'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_listable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - richardcalahan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-10 00:00:00.000000000 Z
11
+ date: 2013-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid
@@ -77,7 +77,10 @@ files:
77
77
  - lib/mongoid/listable/version.rb
78
78
  - lib/mongoid_listable.rb
79
79
  - mongoid_listable.gemspec
80
+ - spec/models/article.rb
81
+ - spec/models/item.rb
80
82
  - spec/models/photo.rb
83
+ - spec/models/section.rb
81
84
  - spec/models/user.rb
82
85
  - spec/mongoid/listable/extensions/object_spec.rb
83
86
  - spec/mongoid_listable_spec.rb
@@ -107,7 +110,10 @@ signing_key:
107
110
  specification_version: 4
108
111
  summary: ''
109
112
  test_files:
113
+ - spec/models/article.rb
114
+ - spec/models/item.rb
110
115
  - spec/models/photo.rb
116
+ - spec/models/section.rb
111
117
  - spec/models/user.rb
112
118
  - spec/mongoid/listable/extensions/object_spec.rb
113
119
  - spec/mongoid_listable_spec.rb