has_stimulus_attrs 0.4.1 → 0.5.0

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: 74b6dfd48a5b7016013cc8c9cc542152785d5f2d6c11422d99eceb1dc2400308
4
- data.tar.gz: bd63a70da105b1b3ffc49dbbc6d9eee706d8e69957637fc83bb648c5c10c7fb8
3
+ metadata.gz: 238aa5e7d35e278fce195e7fe5cd224f3577b1f23f42eb1ae73004fb8ea7bcd5
4
+ data.tar.gz: 4cd400602a164201ef84d0e69abf124fcd9afba82e8d3e30871e3bcd6df68fa1
5
5
  SHA512:
6
- metadata.gz: 5eb976196e5ccd375afd5c5442756b1ac1258b298a6e02f281c10d32fb2e92e72efb2b0cf1812b608e78abe4a18900f4569378e8efd554a507fd0aa5e70352d1
7
- data.tar.gz: d3ef8a9c298c7ca4e8d806e0a4e4680a34810413aabf3c2dfb67fdd1b13fbade1cdb5acd5276530e8514ddc7ab0d26fa889a5f40d46f252eb5e1fd4ab0ab8343
6
+ metadata.gz: 3db6f7a6c2b9e665061fa2daa9c21b75afafc3bc125744ee36ab19af78a47a47fad2df37ecf45e61acfd6963bd13933a5f8d1e9302f2db07a9aa6daf01556984
7
+ data.tar.gz: 03135bbc513eb5fd81576ef6aa6a6bd5da878fa06b49aa121ddbc037c6719d9fef015b298791834d4836c7c8d2e4b1ff08a2908f48e7ac2bd23ea4b2088d9cb0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.0](https://github.com/tomasc/has_stimulus_attrs/compare/v0.4.1...v0.5.0) (2026-04-18)
4
+
5
+ ### Bug Fixes
6
+
7
+ * **Non-mutating prepend pattern**: `prepend___has_stimulus___method` now builds a new Hash via `super().merge(k => v)` instead of mutating the Hash returned by super via `.tap { |d| d[k] = v }`. Required for compatibility with has_dom_attrs ≥ 0.3 (tomasc/has_dom_attrs#2), where `HasDomAttrs#dom_data` returns a shared frozen `EMPTY_HASH` constant to cut allocations. No behavioral change for existing consumers; works against both old-mutable and new-frozen bases.
8
+
3
9
  ## [0.4.1](https://github.com/tomasc/has_stimulus_attrs/compare/v0.3.0...v0.4.1) (2025-02-13)
4
10
 
5
11
  ### Bug Fixes
@@ -27,9 +27,10 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = [ "lib" ]
28
28
 
29
29
  spec.add_dependency "stimulus_helpers", "~> 0.1"
30
- spec.add_dependency "has_dom_attrs", "~> 0.1"
30
+ spec.add_dependency "has_dom_attrs", "~> 0.3"
31
31
  spec.add_dependency "activesupport", ">= 7.0"
32
32
 
33
+ spec.add_development_dependency "benchmark"
33
34
  spec.add_development_dependency "bundler"
34
35
  spec.add_development_dependency "rake"
35
36
  spec.add_development_dependency "minitest", "~> 6.0"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HasStimulusAttrs
4
- VERSION = "0.4.1"
4
+ VERSION = "0.5.0"
5
5
  end
@@ -169,9 +169,9 @@ module HasStimulusAttrs
169
169
  else value
170
170
  end
171
171
 
172
- super().tap do |data|
173
- data[k] = [ data[k], v ].reject(&:blank?).uniq.join(" ")
174
- end
172
+ current = super()
173
+ merged_value = [ current[k], v ].reject(&:blank?).uniq.join(" ")
174
+ current.merge(k => merged_value)
175
175
  end
176
176
  end
177
177
  )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_stimulus_attrs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Celizna
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
33
+ version: '0.3'
34
34
  type: :runtime
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.1'
40
+ version: '0.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activesupport
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '7.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: benchmark
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: bundler
57
71
  requirement: !ruby/object:Gem::Requirement