plutonium 0.62.1 → 0.62.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1bf12b730a106a86a4944705ef1bfffe79d245e56b2585906f3b7787db9ead84
4
- data.tar.gz: da3e1fc7f6d708abb473e1e18b53ea612181c2637480781b4423ce8af3d4e7e4
3
+ metadata.gz: 75154d0671bfe1934ecdb6d045b6a0e119be04f3d9faa37740cf8c50eb113dab
4
+ data.tar.gz: e2dd3963d7a7862918a0ff3f3b482dec18115fec0c54ab5b186178a13006ae05
5
5
  SHA512:
6
- metadata.gz: 49e628c86ad4fe1bcdb032bbcd773c4c26b4ad98626e977d1ae573e4c024245275f988609815b0ac0599d4a3077a1d2c0704b473a5c3b9f2a74491cb65cd6a12
7
- data.tar.gz: df9ba22d2a3e1c1e3504f06c1c435ecccc22fc2712b651e03458677794edc3ee7c53ed64b40666a0278fc8e016dd1e71883011ddd4a3b8d519267b592b5bfdff
6
+ metadata.gz: 9cbfdd419b58dbef8e5f70c91de197065edfdbc108dd93062f407ebff187e61be334c8ff63e96b05a5bee5e4333b51681dfb8403ea294d41c232d4b1885eae38
7
+ data.tar.gz: 1114c97d24fd9c5341779419b545bb376503d2cc7e6b8b403b35ae8260c63f5c8db0483894c288ef8960ce72420952246e1e15f42f2bdb33e3e4da114130eaa8
data/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [0.62.2] - 2026-07-09
6
+
7
+ ### Bug Fixes
8
+
9
+ - Match nested paths under the deleted record on destroy redirect
10
+ - Respect all Rails falsey values in boolean inputs
11
+
12
+ ### Testing
13
+
14
+ - Drop hardcoded Migration[8.1] in dummy migrations
15
+ - Repair stale kanban and show unit tests
16
+ - Make scaffold generator test resilient to leftover state
17
+
18
+ ### Ci
19
+
20
+ - Switch to advanced setup with paths-ignore
21
+ - Bump actions to v4/v5 to clear deprecation warnings
22
+
5
23
  ## [0.62.1] - 2026-07-07
6
24
 
7
25
  ### Bug Fixes
@@ -80,16 +98,6 @@ All notable changes to this project will be documented in this file.
80
98
 
81
99
  - Docs accuracy + completeness audit, plus a per-field Shrine uploader for attachments ([#64](https://github.com/radioactive-labs/plutonium-core/issues/64))
82
100
 
83
- ## [0.60.5] - 2026-06-30
84
-
85
- ### Bug Fixes
86
-
87
- - Coerce ActiveStorage::Filename to String for HTML title attributes
88
-
89
- ### Miscellaneous Tasks
90
-
91
- - Update yarn.lock and .yarnrc.yml after yarn install
92
-
93
101
  ## [0.60.4] - 2026-06-15
94
102
 
95
103
  ### Features
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- plutonium (0.60.4)
4
+ plutonium (0.62.2)
5
5
  action_policy (~> 0.7.0)
6
6
  csv
7
7
  listen (~> 3.8)
@@ -12,7 +12,7 @@ PATH
12
12
  phlex-tabler_icons
13
13
  phlexi-display (>= 0.2.0)
14
14
  phlexi-field (>= 0.2.0)
15
- phlexi-form (>= 0.14.2)
15
+ phlexi-form (>= 0.14.3)
16
16
  phlexi-menu (>= 0.4.1)
17
17
  phlexi-table (>= 0.2.0)
18
18
  rabl (~> 0.17.0)
@@ -74,6 +74,11 @@ GEM
74
74
  erubi (~> 1.11)
75
75
  rails-dom-testing (~> 2.2)
76
76
  rails-html-sanitizer (~> 1.6)
77
+ active_shrine (0.7.1)
78
+ activestorage
79
+ activesupport
80
+ railties
81
+ shrine
77
82
  activejob (7.2.3)
78
83
  activesupport (= 7.2.3)
79
84
  globalid (>= 0.3.6)
@@ -138,9 +143,13 @@ GEM
138
143
  thor (>= 0.14.6)
139
144
  concurrent-ruby (1.3.6)
140
145
  connection_pool (3.0.2)
146
+ content_disposition (1.0.0)
141
147
  crass (1.0.6)
142
148
  csv (3.3.5)
143
149
  date (3.5.1)
150
+ down (5.6.0)
151
+ addressable (~> 2.8)
152
+ base64 (~> 0.3)
144
153
  drb (2.2.3)
145
154
  erb (6.0.2)
146
155
  erubi (1.13.1)
@@ -253,7 +262,7 @@ GEM
253
262
  fiber-local
254
263
  phlex (~> 2.0)
255
264
  zeitwerk
256
- phlexi-form (0.14.2)
265
+ phlexi-form (0.14.3)
257
266
  activesupport
258
267
  phlex (~> 2.0)
259
268
  phlexi-field (~> 0.2.0)
@@ -392,6 +401,9 @@ GEM
392
401
  sequel-activerecord_connection (2.0.1)
393
402
  activerecord (>= 5.1)
394
403
  sequel (~> 5.38)
404
+ shrine (3.7.1)
405
+ content_disposition (~> 1.0)
406
+ down (~> 5.1)
395
407
  sin_lru_redux (2.5.2)
396
408
  sqlite3 (2.9.1-aarch64-linux-gnu)
397
409
  sqlite3 (2.9.1-aarch64-linux-musl)
@@ -464,6 +476,7 @@ PLATFORMS
464
476
  x86_64-linux-musl
465
477
 
466
478
  DEPENDENCIES
479
+ active_shrine
467
480
  appraisal
468
481
  bcrypt
469
482
  brakeman
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- plutonium (0.60.4)
4
+ plutonium (0.62.1)
5
5
  action_policy (~> 0.7.0)
6
6
  csv
7
7
  listen (~> 3.8)
@@ -12,7 +12,7 @@ PATH
12
12
  phlex-tabler_icons
13
13
  phlexi-display (>= 0.2.0)
14
14
  phlexi-field (>= 0.2.0)
15
- phlexi-form (>= 0.14.2)
15
+ phlexi-form (>= 0.14.3)
16
16
  phlexi-menu (>= 0.4.1)
17
17
  phlexi-table (>= 0.2.0)
18
18
  rabl (~> 0.17.0)
@@ -71,6 +71,11 @@ GEM
71
71
  erubi (~> 1.11)
72
72
  rails-dom-testing (~> 2.2)
73
73
  rails-html-sanitizer (~> 1.6)
74
+ active_shrine (0.7.1)
75
+ activestorage
76
+ activesupport
77
+ railties
78
+ shrine
74
79
  activejob (8.0.3)
75
80
  activesupport (= 8.0.3)
76
81
  globalid (>= 0.3.6)
@@ -135,9 +140,13 @@ GEM
135
140
  thor (>= 0.14.6)
136
141
  concurrent-ruby (1.3.6)
137
142
  connection_pool (3.0.2)
143
+ content_disposition (1.0.0)
138
144
  crass (1.0.6)
139
145
  csv (3.3.5)
140
146
  date (3.5.1)
147
+ down (5.6.0)
148
+ addressable (~> 2.8)
149
+ base64 (~> 0.3)
141
150
  drb (2.2.3)
142
151
  erb (6.0.2)
143
152
  erubi (1.13.1)
@@ -229,7 +238,7 @@ GEM
229
238
  fiber-local
230
239
  phlex (~> 2.0)
231
240
  zeitwerk
232
- phlexi-form (0.14.2)
241
+ phlexi-form (0.14.3)
233
242
  activesupport
234
243
  phlex (~> 2.0)
235
244
  phlexi-field (~> 0.2.0)
@@ -367,6 +376,9 @@ GEM
367
376
  sequel-activerecord_connection (2.0.1)
368
377
  activerecord (>= 5.1)
369
378
  sequel (~> 5.38)
379
+ shrine (3.7.1)
380
+ content_disposition (~> 1.0)
381
+ down (~> 5.1)
370
382
  sin_lru_redux (2.5.2)
371
383
  sqlite3 (2.9.1-arm64-darwin)
372
384
  standard (1.54.0)
@@ -425,6 +437,7 @@ PLATFORMS
425
437
  arm64-darwin
426
438
 
427
439
  DEPENDENCIES
440
+ active_shrine
428
441
  appraisal
429
442
  bcrypt
430
443
  brakeman
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- plutonium (0.61.0)
4
+ plutonium (0.62.1)
5
5
  action_policy (~> 0.7.0)
6
6
  csv
7
7
  listen (~> 3.8)
@@ -12,7 +12,7 @@ PATH
12
12
  phlex-tabler_icons
13
13
  phlexi-display (>= 0.2.0)
14
14
  phlexi-field (>= 0.2.0)
15
- phlexi-form (>= 0.14.2)
15
+ phlexi-form (>= 0.14.3)
16
16
  phlexi-menu (>= 0.4.1)
17
17
  phlexi-table (>= 0.2.0)
18
18
  rabl (~> 0.17.0)
@@ -240,7 +240,7 @@ GEM
240
240
  fiber-local
241
241
  phlex (~> 2.0)
242
242
  zeitwerk
243
- phlexi-form (0.14.2)
243
+ phlexi-form (0.14.3)
244
244
  activesupport
245
245
  phlex (~> 2.0)
246
246
  phlexi-field (~> 0.2.0)
@@ -219,18 +219,23 @@ module Plutonium
219
219
  resource_url_for(resource_class)
220
220
  end
221
221
 
222
- # A return_to pointing at the just-deleted record's own show/edit page
223
- # would 404 on the follow-up request, so treat those as unusable and let
224
- # the caller fall back to the index. We compare paths because return_to
225
- # is the bare record URL while request.url still carries ?return_to=.
222
+ # A return_to pointing at the just-deleted record's own page — its show,
223
+ # edit, or any nested resource beneath it would 404 on the follow-up
224
+ # request, so treat those as unusable and let the caller fall back to the
225
+ # index. We compare paths (return_to is the bare record URL while
226
+ # request.url still carries ?return_to=) and normalize both to a trailing
227
+ # slash so the prefix test respects segment boundaries: /posts/13/ must
228
+ # not match /posts/130.
226
229
  def same_resource_url?(return_to)
227
230
  return false unless resource_record?
228
231
 
229
- target_path = URI.parse(return_to).path
230
- record_path = URI.parse(resource_url_for(resource_record!)).path
231
- target_path == record_path || target_path == "#{record_path}/edit"
232
+ target_path = ensure_trailing_slash URI.parse(return_to).path
233
+ record_path = ensure_trailing_slash URI.parse(resource_url_for(resource_record!)).path
234
+ target_path.start_with?(record_path)
232
235
  end
233
236
 
237
+ def ensure_trailing_slash(path) = "#{path.chomp("/")}/"
238
+
234
239
  def preferred_action_after_submit
235
240
  @preferred_action_after_submit = begin
236
241
  if %w[new edit show index].include? params[:commit]
@@ -1,5 +1,5 @@
1
1
  module Plutonium
2
- VERSION = "0.62.1"
2
+ VERSION = "0.62.2"
3
3
  NEXT_MAJOR_VERSION = VERSION.split(".").tap { |v|
4
4
  v[1] = v[1].to_i + 1
5
5
  v[2] = 0
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radioactive-labs/plutonium",
3
- "version": "0.62.1",
3
+ "version": "0.62.2",
4
4
  "description": "Build production-ready Rails apps in minutes, not days. Convention-driven, fully customizable, AI-ready.",
5
5
  "type": "module",
6
6
  "main": "src/js/core.js",
data/plutonium.gemspec CHANGED
@@ -65,7 +65,7 @@ Gem::Specification.new do |spec|
65
65
  spec.add_dependency "phlex-rails"
66
66
  spec.add_dependency "phlex-tabler_icons"
67
67
  spec.add_dependency "phlexi-field", ">= 0.2.0"
68
- spec.add_dependency "phlexi-form", ">= 0.14.2"
68
+ spec.add_dependency "phlexi-form", ">= 0.14.3"
69
69
  spec.add_dependency "phlexi-table", ">= 0.2.0"
70
70
  spec.add_dependency "phlexi-display", ">= 0.2.0"
71
71
  spec.add_dependency "phlexi-menu", ">= 0.4.1"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plutonium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.62.1
4
+ version: 0.62.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-07-07 00:00:00.000000000 Z
10
+ date: 2026-07-09 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: zeitwerk
@@ -197,14 +197,14 @@ dependencies:
197
197
  requirements:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
- version: 0.14.2
200
+ version: 0.14.3
201
201
  type: :runtime
202
202
  prerelease: false
203
203
  version_requirements: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - ">="
206
206
  - !ruby/object:Gem::Version
207
- version: 0.14.2
207
+ version: 0.14.3
208
208
  - !ruby/object:Gem::Dependency
209
209
  name: phlexi-table
210
210
  requirement: !ruby/object:Gem::Requirement