acts_as_list 1.2.3 → 1.2.5
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 +9 -0
- data/lib/acts_as_list/active_record/acts/scope_method_definer.rb +24 -3
- data/lib/acts_as_list/version.rb +1 -1
- metadata +4 -87
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dd73c8d74d8ff9e3f912f41181c1c8fe544f8c3a9b9f6f065288207d99b5d116
|
|
4
|
+
data.tar.gz: bdf48adfe5a2bff8f3b660dfa09fce7217ca62447dc633c89a290568e42707f0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 15abab96e0b079ad43a759c8c3eaa221d5c85406780f6255dc49f2f6723222bdad1c3470f79c7fe0c5c9dc53bdd67722b00039bda55e1cb76df20a6051b48fc7
|
|
7
|
+
data.tar.gz: cdcc37dfb3eaa17ceef2ca2f938e8837b1cfeec5189c815355ae2d385bc70db71c1a3ab139dcc812c1bdece51c2b5d72b702bbadb39596b1a3e09dc5b0fafbc7
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## v1.2.5 - 2025-10-21
|
|
10
|
+
|
|
11
|
+
- Fix crash when deleting an association with composite primary keys [\#450](https://github.com/brendon/acts_as_list/pull/450) ([smathieu])
|
|
12
|
+
|
|
13
|
+
## v1.2.4 - 2024-11-20
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- funding_uri to gemspec
|
|
17
|
+
|
|
9
18
|
## v1.2.3 - 2024-10-14
|
|
10
19
|
|
|
11
20
|
### Changed
|
|
@@ -21,7 +21,16 @@ module ActiveRecord::Acts::List::ScopeMethodDefiner #:nodoc:
|
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
define_method :destroyed_via_scope? do
|
|
24
|
-
|
|
24
|
+
return false unless destroyed_by_association
|
|
25
|
+
|
|
26
|
+
foreign_key = destroyed_by_association.foreign_key
|
|
27
|
+
if foreign_key.is_a?(Array)
|
|
28
|
+
# Composite foreign key - check if scope is one of the keys
|
|
29
|
+
foreign_key.map(&:to_sym).include?(scope)
|
|
30
|
+
else
|
|
31
|
+
# Single foreign key
|
|
32
|
+
scope == foreign_key.to_sym
|
|
33
|
+
end
|
|
25
34
|
end
|
|
26
35
|
elsif scope.is_a?(Array)
|
|
27
36
|
define_method :scope_condition do
|
|
@@ -44,7 +53,16 @@ module ActiveRecord::Acts::List::ScopeMethodDefiner #:nodoc:
|
|
|
44
53
|
end
|
|
45
54
|
|
|
46
55
|
define_method :destroyed_via_scope? do
|
|
47
|
-
|
|
56
|
+
return false unless destroyed_by_association
|
|
57
|
+
|
|
58
|
+
foreign_key = destroyed_by_association.foreign_key
|
|
59
|
+
if foreign_key.is_a?(Array)
|
|
60
|
+
# Composite foreign key - check if any keys overlap with scope
|
|
61
|
+
(scope_condition.keys & foreign_key.map(&:to_sym)).any?
|
|
62
|
+
else
|
|
63
|
+
# Single foreign key
|
|
64
|
+
scope_condition.keys.include?(foreign_key.to_sym)
|
|
65
|
+
end
|
|
48
66
|
end
|
|
49
67
|
else
|
|
50
68
|
define_method :scope_condition do
|
|
@@ -68,7 +86,10 @@ module ActiveRecord::Acts::List::ScopeMethodDefiner #:nodoc:
|
|
|
68
86
|
return name if name.to_s =~ /_id$/
|
|
69
87
|
|
|
70
88
|
if caller_class.reflections.key?(name.to_s)
|
|
71
|
-
caller_class.reflections[name.to_s].foreign_key
|
|
89
|
+
foreign_key = caller_class.reflections[name.to_s].foreign_key
|
|
90
|
+
# Handle composite foreign keys (Arrays) by returning as-is
|
|
91
|
+
# Single foreign keys should be converted to symbols
|
|
92
|
+
foreign_key.is_a?(Array) ? foreign_key.map(&:to_sym) : foreign_key.to_sym
|
|
72
93
|
else
|
|
73
94
|
ActiveSupport::Inflector.foreign_key(name).to_sym
|
|
74
95
|
end
|
data/lib/acts_as_list/version.rb
CHANGED
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: 1.2.
|
|
4
|
+
version: 1.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Swanand Pagnis
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2025-10-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activerecord
|
|
@@ -39,90 +39,6 @@ dependencies:
|
|
|
39
39
|
- - ">="
|
|
40
40
|
- !ruby/object:Gem::Version
|
|
41
41
|
version: '6.1'
|
|
42
|
-
- !ruby/object:Gem::Dependency
|
|
43
|
-
name: minitest-hooks
|
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
|
45
|
-
requirements:
|
|
46
|
-
- - "~>"
|
|
47
|
-
- !ruby/object:Gem::Version
|
|
48
|
-
version: 1.5.1
|
|
49
|
-
type: :development
|
|
50
|
-
prerelease: false
|
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
-
requirements:
|
|
53
|
-
- - "~>"
|
|
54
|
-
- !ruby/object:Gem::Version
|
|
55
|
-
version: 1.5.1
|
|
56
|
-
- !ruby/object:Gem::Dependency
|
|
57
|
-
name: mocha
|
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
|
59
|
-
requirements:
|
|
60
|
-
- - "~>"
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 2.1.0
|
|
63
|
-
type: :development
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - "~>"
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: 2.1.0
|
|
70
|
-
- !ruby/object:Gem::Dependency
|
|
71
|
-
name: timecop
|
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
|
73
|
-
requirements:
|
|
74
|
-
- - "~>"
|
|
75
|
-
- !ruby/object:Gem::Version
|
|
76
|
-
version: 0.9.8
|
|
77
|
-
type: :development
|
|
78
|
-
prerelease: false
|
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
80
|
-
requirements:
|
|
81
|
-
- - "~>"
|
|
82
|
-
- !ruby/object:Gem::Version
|
|
83
|
-
version: 0.9.8
|
|
84
|
-
- !ruby/object:Gem::Dependency
|
|
85
|
-
name: mysql2
|
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
|
87
|
-
requirements:
|
|
88
|
-
- - "~>"
|
|
89
|
-
- !ruby/object:Gem::Version
|
|
90
|
-
version: 0.5.6
|
|
91
|
-
type: :development
|
|
92
|
-
prerelease: false
|
|
93
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
94
|
-
requirements:
|
|
95
|
-
- - "~>"
|
|
96
|
-
- !ruby/object:Gem::Version
|
|
97
|
-
version: 0.5.6
|
|
98
|
-
- !ruby/object:Gem::Dependency
|
|
99
|
-
name: pg
|
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
|
101
|
-
requirements:
|
|
102
|
-
- - "~>"
|
|
103
|
-
- !ruby/object:Gem::Version
|
|
104
|
-
version: 1.5.5
|
|
105
|
-
type: :development
|
|
106
|
-
prerelease: false
|
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
108
|
-
requirements:
|
|
109
|
-
- - "~>"
|
|
110
|
-
- !ruby/object:Gem::Version
|
|
111
|
-
version: 1.5.5
|
|
112
|
-
- !ruby/object:Gem::Dependency
|
|
113
|
-
name: sqlite3
|
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
|
115
|
-
requirements:
|
|
116
|
-
- - "~>"
|
|
117
|
-
- !ruby/object:Gem::Version
|
|
118
|
-
version: 1.7.2
|
|
119
|
-
type: :development
|
|
120
|
-
prerelease: false
|
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
-
requirements:
|
|
123
|
-
- - "~>"
|
|
124
|
-
- !ruby/object:Gem::Version
|
|
125
|
-
version: 1.7.2
|
|
126
42
|
description: This "acts_as" extension provides the capabilities for sorting and reordering
|
|
127
43
|
a number of objects in a list. The class that has this specified needs to have a
|
|
128
44
|
"position" column defined as an integer on the mapped database table.
|
|
@@ -159,6 +75,7 @@ metadata:
|
|
|
159
75
|
changelog_uri: https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md
|
|
160
76
|
source_code_uri: https://github.com/brendon/acts_as_list
|
|
161
77
|
bug_tracker_uri: https://github.com/brendon/acts_as_list/issues
|
|
78
|
+
funding_uri: https://github.com/sponsors/brendon
|
|
162
79
|
rubygems_mfa_required: 'true'
|
|
163
80
|
post_install_message:
|
|
164
81
|
rdoc_options: []
|
|
@@ -175,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
175
92
|
- !ruby/object:Gem::Version
|
|
176
93
|
version: '0'
|
|
177
94
|
requirements: []
|
|
178
|
-
rubygems_version: 3.
|
|
95
|
+
rubygems_version: 3.5.22
|
|
179
96
|
signing_key:
|
|
180
97
|
specification_version: 4
|
|
181
98
|
summary: A gem adding sorting, reordering capabilities to an active_record model,
|