view_component_reflex 3.1.14.pre4 → 3.1.14.pre8

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: e5ccc3bdc0b0a80f7be53b17bc99a7edd35acf72b78a45229b8be6e64bca7e19
4
- data.tar.gz: 31e7bd34a88647a6c35433fe4e8bd2ac4f8c283d050f4bab272a08ca47f4550b
3
+ metadata.gz: 68c3165a8b1c6121e1be99b4464ade2bf4bea8920b70d6d8b2461239f7278a9c
4
+ data.tar.gz: 55b823177cf414e6271bfbcaaac376e03dbaae73ebe73df0fff814a8e7b73912
5
5
  SHA512:
6
- metadata.gz: 5966a7aaebf72045ce3316c4e4ac24c0d0bff372df85f9a5968e602608c4b4f65c92ae07bbf70cb76141b6337712bf572b807c09e6d09208fead39bdc7b79d37
7
- data.tar.gz: cf07e301eb404f8598e6ac7f12108fb7e5429cfd4a32e85ed159c762dc330a4992117134fc9175f01a73dc5ca33a3078177e6d3bb986dd26b4efdccc8971f985
6
+ metadata.gz: 4a053c9d3ecd441c6b3235b590780312df465495f7f81c3be2087c78b0f556f59a0638b9f9a224b36d5f4f4aa4627da3c6df9b6f0159754d3592e4d239d3d2b1
7
+ data.tar.gz: 720261c26f0d0e45a26d490c6d818a5a3e373db45216bc1a0a7a094be3223012e2bb640a811550e11780ae9676df9ce84fdf03d4dca33fb700bcb1ced50555e0
data/README.md CHANGED
@@ -440,6 +440,31 @@ Otherwise @instance_variables were nil after a reflex
440
440
  config.session_store :cache_store
441
441
  ```
442
442
 
443
+ ## Sidecar assets
444
+
445
+ When using ViewComponent generated sidecar assets, the stimulus controller won't resolve properly.
446
+ To resolve this, override the `self.stimulus_controller` method in your component to the correct method.
447
+
448
+ For example, if you have a structure of
449
+
450
+ ```
451
+ components/
452
+ example_component/
453
+ example_component_controller.js
454
+ example_component.html.erb
455
+ example_component.rb
456
+ ```
457
+
458
+ You would update your `self.stimulus_controller` method to
459
+
460
+ ```ruby
461
+ def self.stimulus_controller
462
+ "example-component--example-component"
463
+ end
464
+ ```
465
+
466
+ Thanks @omairrazam for this solution
467
+
443
468
  ## License
444
469
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
445
470
 
@@ -7,7 +7,14 @@ module ViewComponentReflex
7
7
  def init_stimulus_reflex
8
8
  factory = ViewComponentReflex::ReflexFactory.new(self)
9
9
  @stimulus_reflex ||= factory.reflex
10
- wire_up_callbacks if factory.new?
10
+
11
+ # Always wire up new callbacks in development
12
+ if Rails.env.development?
13
+ reset_callbacks
14
+ wire_up_callbacks
15
+ elsif factory.new? # only wire up callbacks in production if they haven't been wired up yet
16
+ wire_up_callbacks
17
+ end
11
18
  end
12
19
 
13
20
  def queue_callback(key, args, blk)
@@ -40,6 +47,11 @@ module ViewComponentReflex
40
47
  queue_callback(:around, args, blk)
41
48
  end
42
49
 
50
+ def reset_callbacks
51
+ # SR uses :process as the underlying callback key
52
+ @stimulus_reflex.reset_callbacks(:process)
53
+ end
54
+
43
55
  def wire_up_callbacks
44
56
  register_callbacks(:before)
45
57
  register_callbacks(:after)
@@ -192,7 +204,7 @@ module ViewComponentReflex
192
204
  # end
193
205
 
194
206
  def safe_instance_variables
195
- instance_variables - unsafe_instance_variables - omitted_from_state
207
+ instance_variables.reject { |ivar| ivar.start_with?("@__vc") } - unsafe_instance_variables - omitted_from_state
196
208
  end
197
209
 
198
210
  private
@@ -202,8 +214,8 @@ module ViewComponentReflex
202
214
  :@view_context, :@lookup_context, :@view_renderer, :@view_flow,
203
215
  :@virtual_path, :@variant, :@current_template, :@output_buffer, :@key,
204
216
  :@helpers, :@controller, :@request, :@tag_builder, :@state_initialized,
205
- :@_content_evaluated, :@_render_in_block, :@__vc_controller, :@__vc_helpers,
206
- :@__cached_content, :@__vc_variant, :@__vc_content_evaluated, :@__vc_render_in_block,
217
+ :@_content_evaluated, :@_render_in_block, :@__cached_content,
218
+ :@original_view_context,
207
219
  ]
208
220
  end
209
221
 
@@ -1,3 +1,3 @@
1
1
  module ViewComponentReflex
2
- VERSION = '3.1.14.pre4'
2
+ VERSION = '3.1.14.pre8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view_component_reflex
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.14.pre4
4
+ version: 3.1.14.pre8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua LeBlanc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-11 00:00:00.000000000 Z
11
+ date: 2021-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '5.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '7.0'
22
+ version: '8.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '5.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '7.0'
32
+ version: '8.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: stimulus_reflex
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  - !ruby/object:Gem::Version
113
113
  version: 1.3.1
114
114
  requirements: []
115
- rubygems_version: 3.2.15
115
+ rubygems_version: 3.2.9
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: Allow stimulus reflexes in a view component