acts_as_list 0.9.9 → 0.9.10
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/lib/acts_as_list/active_record/acts/list.rb +8 -2
- data/lib/acts_as_list/active_record/acts/no_update.rb +2 -2
- data/lib/acts_as_list/version.rb +1 -1
- data/test/shared_list.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a5fd4ed86fc8761d3281f89b396aa5062d2efae
|
4
|
+
data.tar.gz: 5caf258018d36923b25c1cf4b21829b506de2feb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 206f7896be7a435f3330af74f2737256c1fd30a2a54ecd7900e369bec037e8a0317a14771d1cfe80405852a42bb6cd7570b518c9d43d98e18fc983b692a3f475
|
7
|
+
data.tar.gz: de4fd257055e8aa86e6bbf1c0aa5d9358b91592465cba7a44661219a916f94a68555b02dd33718a3a2e69e3b79f1533020317ad00043ce77f4bf071c72f57f65
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [Unreleased](https://github.com/swanandp/acts_as_list/tree/HEAD)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/swanandp/acts_as_list/compare/v0.9.9...HEAD)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Why does acts\_as\_list override rails validation on it's own field? [\#269](https://github.com/swanandp/acts_as_list/issues/269)
|
10
|
+
|
11
|
+
## [v0.9.9](https://github.com/swanandp/acts_as_list/tree/v0.9.9) (2017-10-03)
|
12
|
+
[Full Changelog](https://github.com/swanandp/acts_as_list/compare/v0.9.8...v0.9.9)
|
13
|
+
|
14
|
+
**Merged pull requests:**
|
15
|
+
|
16
|
+
- Added fixed values option for scope array [\#286](https://github.com/swanandp/acts_as_list/pull/286) ([hooverlunch](https://github.com/hooverlunch))
|
17
|
+
|
3
18
|
## [v0.9.8](https://github.com/swanandp/acts_as_list/tree/v0.9.8) (2017-09-28)
|
4
19
|
[Full Changelog](https://github.com/swanandp/acts_as_list/compare/v0.9.7...v0.9.8)
|
5
20
|
|
@@ -234,7 +234,7 @@ module ActiveRecord
|
|
234
234
|
# has been set manually using position=, not necessarily the top or bottom of the list:
|
235
235
|
|
236
236
|
def add_to_list_top
|
237
|
-
if
|
237
|
+
if assume_default_position?
|
238
238
|
increment_positions_on_all_items
|
239
239
|
self[position_column] = acts_as_list_top
|
240
240
|
else
|
@@ -249,7 +249,7 @@ module ActiveRecord
|
|
249
249
|
end
|
250
250
|
|
251
251
|
def add_to_list_bottom
|
252
|
-
if
|
252
|
+
if assume_default_position?
|
253
253
|
self[position_column] = bottom_position_in_list.to_i + 1
|
254
254
|
else
|
255
255
|
increment_positions_on_lower_items(self[position_column], id)
|
@@ -262,6 +262,12 @@ module ActiveRecord
|
|
262
262
|
true
|
263
263
|
end
|
264
264
|
|
265
|
+
def assume_default_position?
|
266
|
+
not_in_list? ||
|
267
|
+
persisted? && internal_scope_changed? && !position_changed ||
|
268
|
+
default_position?
|
269
|
+
end
|
270
|
+
|
265
271
|
# Overwrite this method to define the scope of the list changes
|
266
272
|
def scope_condition() {} end
|
267
273
|
|
@@ -7,13 +7,13 @@ module ActiveRecord
|
|
7
7
|
base.extend ClassMethods
|
8
8
|
end
|
9
9
|
|
10
|
-
class ArrayTypeError <
|
10
|
+
class ArrayTypeError < ArgumentError
|
11
11
|
def initialize
|
12
12
|
super("The first argument must be an array")
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
class DisparityClassesError <
|
16
|
+
class DisparityClassesError < ArgumentError
|
17
17
|
def initialize
|
18
18
|
super("The first argument should contain ActiveRecord or ApplicationRecord classes")
|
19
19
|
end
|
data/lib/acts_as_list/version.rb
CHANGED
data/test/shared_list.rb
CHANGED
@@ -124,6 +124,18 @@ module Shared
|
|
124
124
|
assert_equal [$default_position, 1, 2, 3, 4, 5], pos_list
|
125
125
|
end
|
126
126
|
|
127
|
+
def test_insert_at_after_dup
|
128
|
+
new1 = ListMixin.create(parent_id: 20)
|
129
|
+
new2 = ListMixin.create(parent_id: 20)
|
130
|
+
new3 = ListMixin.create(parent_id: 20)
|
131
|
+
|
132
|
+
duped = new1.dup
|
133
|
+
duped.save
|
134
|
+
[new1, new2, new3, duped].map(&:reload)
|
135
|
+
|
136
|
+
assert_equal [1, 2, 3, 4], [duped.pos, new1.pos, new2.pos, new3.pos]
|
137
|
+
end
|
138
|
+
|
127
139
|
def test_delete_middle
|
128
140
|
assert_equal [1, 2, 3, 4], ListMixin.where(parent_id: 5).order('pos').map(&:id)
|
129
141
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_list
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-
|
13
|
+
date: 2017-11-19 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|