stimulus_reflex 3.3.0.pre4 → 3.4.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of stimulus_reflex might be problematic. Click here for more details.

Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +100 -4
  3. data/Gemfile.lock +72 -69
  4. data/README.md +5 -2
  5. data/{lib → app/channels}/stimulus_reflex/channel.rb +17 -7
  6. data/lib/generators/stimulus_reflex/config_generator.rb +14 -0
  7. data/lib/generators/{stimulus_reflex_generator.rb → stimulus_reflex/stimulus_reflex_generator.rb} +0 -0
  8. data/lib/generators/stimulus_reflex/templates/app/javascript/controllers/%file_name%_controller.js.tt +89 -0
  9. data/lib/generators/{templates → stimulus_reflex/templates}/app/javascript/controllers/application_controller.js.tt +11 -8
  10. data/lib/generators/{templates → stimulus_reflex/templates}/app/reflexes/%file_name%_reflex.rb.tt +0 -0
  11. data/lib/generators/{templates → stimulus_reflex/templates}/app/reflexes/application_reflex.rb.tt +0 -0
  12. data/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb +9 -0
  13. data/lib/stimulus_reflex.rb +5 -2
  14. data/lib/stimulus_reflex/broadcasters/broadcaster.rb +3 -7
  15. data/lib/stimulus_reflex/broadcasters/page_broadcaster.rb +2 -2
  16. data/lib/stimulus_reflex/broadcasters/selector_broadcaster.rb +2 -2
  17. data/lib/stimulus_reflex/configuration.rb +24 -0
  18. data/lib/stimulus_reflex/element.rb +8 -0
  19. data/lib/stimulus_reflex/reflex.rb +21 -18
  20. data/lib/stimulus_reflex/sanity_checker.rb +98 -0
  21. data/lib/stimulus_reflex/version.rb +1 -1
  22. data/lib/tasks/stimulus_reflex/install.rake +23 -8
  23. data/package.json +63 -0
  24. data/stimulus_reflex.gemspec +40 -0
  25. data/tags +98 -0
  26. data/test/generators/stimulus_reflex_generator_test.rb +3 -2
  27. data/test/tmp/app/reflexes/application_reflex.rb +12 -0
  28. data/test/tmp/app/reflexes/user_reflex.rb +33 -0
  29. data/yarn.lock +6261 -0
  30. metadata +27 -15
  31. data/lib/generators/templates/app/javascript/controllers/%file_name%_controller.js.tt +0 -57
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c9b7c733ac621d7a767be4d2674f3fc93ba082fd49b2b97bae28f1af426c3a2
4
- data.tar.gz: 2a8c9b669f1b3ae3ca05061fb56fc04ab68c4617d9c90228ce66ea6af929101e
3
+ metadata.gz: 96bccb8addb37f4a5096017acee725da0b9b85316216adf56e5591b582b337c5
4
+ data.tar.gz: b7e3559981c86136e2db6f0a91eb7996cada8606c12eb23ab339220729bebb06
5
5
  SHA512:
6
- metadata.gz: 32827f948085f06d9980c806f2392ca59f4c32b39e5512ee8ef69c89c45192abc4de4824a216c2544e49c816ae345bbbf2713d496f6cd07fbefd1f45e94a9ea1
7
- data.tar.gz: b1033c190f6794f2480436ab45da9ba78339dda1cfda7fa2ca724b88186158434dfe36710187bcc36b8fb91433a044ff4585f9deef65178318c95a6e969cf091
6
+ metadata.gz: fc0767685fc9cc55fce312f2112ec0b42682aeaae5200ca2f8b1371539e458cdfd55cf46335a22682a4fce50c851a9a996b7e12cf3caa4b12d3f309e3fb6ee4d
7
+ data.tar.gz: f28b5af48c24bd07542e37ee5f940df373cc7f74a068c67dddfd8eda0f31a1131802bceaa69713f2f69235955e0b33a79fda1fed33cad66653158eb0e84c6654
@@ -1,12 +1,108 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD)
3
+ ## [v3.4.0.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre0) (2020-11-02)
4
4
 
5
- [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre3...HEAD)
5
+ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0...v3.4.0.pre0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Move StimulusReflex::Channel to app/ and allow for a configurable parent channel [\#346](https://github.com/hopsoft/stimulus_reflex/pull/346) ([leastbad](https://github.com/leastbad))
10
+ - tab isolation mode v2 [\#335](https://github.com/hopsoft/stimulus_reflex/pull/335) ([leastbad](https://github.com/leastbad))
11
+ - Delegate flash to the request [\#334](https://github.com/hopsoft/stimulus_reflex/pull/334) ([hopsoft](https://github.com/hopsoft))
12
+ - Opt-in form serialization & params overriding [\#325](https://github.com/hopsoft/stimulus_reflex/pull/325) ([s-s](https://github.com/s-s))
13
+ - Exit on failed sanity check, provide config to skip exit [\#318](https://github.com/hopsoft/stimulus_reflex/pull/318) ([RolandStuder](https://github.com/RolandStuder))
14
+
15
+ **Fixed bugs:**
16
+
17
+ - Console exception when reflex updates a page that didn't trigger the update [\#336](https://github.com/hopsoft/stimulus_reflex/issues/336)
18
+ - AlpineJS components not reinitalised after reflex [\#329](https://github.com/hopsoft/stimulus_reflex/issues/329)
19
+ - Encoding changes from UTF-8 to ASCII-8BIT [\#202](https://github.com/hopsoft/stimulus_reflex/issues/202)
20
+
21
+ **Closed issues:**
22
+
23
+ - ActionController::RoutingError with Rails 6 Engines [\#342](https://github.com/hopsoft/stimulus_reflex/issues/342)
24
+ - Wrong input name parsing [\#321](https://github.com/hopsoft/stimulus_reflex/issues/321)
25
+ - Stimulus' controllers are not reconnecting after reflex, why? [\#314](https://github.com/hopsoft/stimulus_reflex/issues/314)
26
+ - Rendering issue [\#289](https://github.com/hopsoft/stimulus_reflex/issues/289)
27
+ - Documentation Request for a Rails 6.x app with 5.2 defaults [\#265](https://github.com/hopsoft/stimulus_reflex/issues/265)
28
+
29
+ **Merged pull requests:**
30
+
31
+ - \[docs\] StimulusReflex.debug= on left hand side [\#348](https://github.com/hopsoft/stimulus_reflex/pull/348) ([drnic](https://github.com/drnic))
32
+ - Fix page morphs inside Rails engines [\#344](https://github.com/hopsoft/stimulus_reflex/pull/344) ([leastbad](https://github.com/leastbad))
33
+ - Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse))
34
+ - feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev))
35
+ - Make StimulusReflex configurable and add an initializer [\#339](https://github.com/hopsoft/stimulus_reflex/pull/339) ([RolandStuder](https://github.com/RolandStuder))
36
+ - Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie))
37
+ - remove isolate concept and make behavior default [\#332](https://github.com/hopsoft/stimulus_reflex/pull/332) ([leastbad](https://github.com/leastbad))
38
+ - add signed/unsigned accessors to element [\#330](https://github.com/hopsoft/stimulus_reflex/pull/330) ([joshleblanc](https://github.com/joshleblanc))
39
+ - merge environment into ApplicationController and descendants [\#328](https://github.com/hopsoft/stimulus_reflex/pull/328) ([leastbad](https://github.com/leastbad))
40
+ - Move form-data merge logic to the server-side [\#327](https://github.com/hopsoft/stimulus_reflex/pull/327) ([marcoroth](https://github.com/marcoroth))
41
+ - fix for PR\#317 which was preventing server messages [\#326](https://github.com/hopsoft/stimulus_reflex/pull/326) ([leastbad](https://github.com/leastbad))
42
+ - introduce tab isolation mode [\#324](https://github.com/hopsoft/stimulus_reflex/pull/324) ([leastbad](https://github.com/leastbad))
43
+ - Force request encodings to be UTF-8 instead of ASCII-8BIT after a reflex [\#320](https://github.com/hopsoft/stimulus_reflex/pull/320) ([marcoroth](https://github.com/marcoroth))
44
+ - Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch))
45
+ - lifecycle refactor: introduce new finalize stage, global reflexes dictionary [\#317](https://github.com/hopsoft/stimulus_reflex/pull/317) ([leastbad](https://github.com/leastbad))
46
+ - Update events.md [\#316](https://github.com/hopsoft/stimulus_reflex/pull/316) ([gahia](https://github.com/gahia))
47
+ - Proposal: Reduce bundle size and add a bundler for Stimulus Reflex javascript [\#315](https://github.com/hopsoft/stimulus_reflex/pull/315) ([ParamagicDev](https://github.com/ParamagicDev))
48
+
49
+ ## [v3.3.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0) (2020-09-22)
50
+
51
+ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre6...v3.3.0)
52
+
53
+ ## [v3.3.0.pre6](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre6) (2020-09-20)
54
+
55
+ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre5...v3.3.0.pre6)
56
+
57
+ **Implemented enhancements:**
58
+
59
+ - Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad))
60
+
61
+ **Closed issues:**
62
+
63
+ - Authorization [\#292](https://github.com/hopsoft/stimulus_reflex/issues/292)
64
+ - Params incorrect for form submitted for nested resource [\#290](https://github.com/hopsoft/stimulus_reflex/issues/290)
65
+ - Use set I18n.locale in Reflexes with Selector Morphs [\#280](https://github.com/hopsoft/stimulus_reflex/issues/280)
66
+
67
+ **Merged pull requests:**
68
+
69
+ - fixes and tweaks to client logging subsystem [\#313](https://github.com/hopsoft/stimulus_reflex/pull/313) ([leastbad](https://github.com/leastbad))
70
+ - add ready event after setupDeclarativeReflexes [\#312](https://github.com/hopsoft/stimulus_reflex/pull/312) ([leastbad](https://github.com/leastbad))
71
+ - Refactor sanity checks on boot [\#311](https://github.com/hopsoft/stimulus_reflex/pull/311) ([excid3](https://github.com/excid3))
72
+
73
+ ## [v3.3.0.pre5](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre5) (2020-09-18)
74
+
75
+ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre4...v3.3.0.pre5)
76
+
77
+ **Implemented enhancements:**
78
+
79
+ - Fail loudly if there's a version mismatch between the gem and the npm package. [\#294](https://github.com/hopsoft/stimulus_reflex/issues/294)
80
+
81
+ **Closed issues:**
82
+
83
+ - IE11 Support: "crypto" is undefined [\#308](https://github.com/hopsoft/stimulus_reflex/issues/308)
84
+ - Using `morph` gives error on missing Warden::Manager midddleware? [\#304](https://github.com/hopsoft/stimulus_reflex/issues/304)
85
+ - Update client controller template comments [\#298](https://github.com/hopsoft/stimulus_reflex/issues/298)
86
+
87
+ **Merged pull requests:**
88
+
89
+ - Support IE11 msCrypto \(\#308\) [\#310](https://github.com/hopsoft/stimulus_reflex/pull/310) ([chooselife22](https://github.com/chooselife22))
90
+ - Print warning and exit if caching is disabled or npm/gem versions are mismatched [\#309](https://github.com/hopsoft/stimulus_reflex/pull/309) ([excid3](https://github.com/excid3))
91
+ - ActionCable connectivity events [\#307](https://github.com/hopsoft/stimulus_reflex/pull/307) ([leastbad](https://github.com/leastbad))
92
+ - Copyedits [\#306](https://github.com/hopsoft/stimulus_reflex/pull/306) ([CodingItWrong](https://github.com/CodingItWrong))
93
+ - add redis to cable.yml in development mode [\#305](https://github.com/hopsoft/stimulus_reflex/pull/305) ([leastbad](https://github.com/leastbad))
94
+ - Update morph-modes.md [\#302](https://github.com/hopsoft/stimulus_reflex/pull/302) ([scottbarrow](https://github.com/scottbarrow))
95
+ - Enhance controller templates docs [\#300](https://github.com/hopsoft/stimulus_reflex/pull/300) ([pinzonjulian](https://github.com/pinzonjulian))
96
+ - Avoid mismatching client and server versions [\#297](https://github.com/hopsoft/stimulus_reflex/pull/297) ([piotrwodz](https://github.com/piotrwodz))
97
+
98
+ ## [v3.3.0.pre4](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre4) (2020-09-13)
99
+
100
+ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre3...v3.3.0.pre4)
6
101
 
7
102
  **Fixed bugs:**
8
103
 
9
104
  - Lifecycle callbacks do not work [\#281](https://github.com/hopsoft/stimulus_reflex/issues/281)
105
+ - Fix timing issues with post-Reflex lifecycle callbacks [\#299](https://github.com/hopsoft/stimulus_reflex/pull/299) ([leastbad](https://github.com/leastbad))
10
106
 
11
107
  **Closed issues:**
12
108
 
@@ -195,7 +291,7 @@
195
291
  - Loosen Rails requirement to 5.2 with instructions [\#205](https://github.com/hopsoft/stimulus_reflex/pull/205) ([jasoncharnes](https://github.com/jasoncharnes))
196
292
  - Fix undefined is not an object for Object.keys in log.js [\#201](https://github.com/hopsoft/stimulus_reflex/pull/201) ([marcoroth](https://github.com/marcoroth))
197
293
  - Small typo/grammar fix in quickstart doc. [\#198](https://github.com/hopsoft/stimulus_reflex/pull/198) ([acoffman](https://github.com/acoffman))
198
- - Add halted lifecycle event [\#193](https://github.com/hopsoft/stimulus_reflex/pull/193) ([seb1441](https://github.com/seb1441))
294
+ - Add halted lifecycle event [\#193](https://github.com/hopsoft/stimulus_reflex/pull/193) ([websebdev](https://github.com/websebdev))
199
295
  - 147 extract multiple checkbox values [\#175](https://github.com/hopsoft/stimulus_reflex/pull/175) ([julianrubisch](https://github.com/julianrubisch))
200
296
 
201
297
  ## [v3.2.1](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.1) (2020-05-09)
@@ -234,7 +330,7 @@
234
330
  - Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s))
235
331
  - Allow channel exceptions to be rescuable [\#180](https://github.com/hopsoft/stimulus_reflex/pull/180) ([dark-panda](https://github.com/dark-panda))
236
332
  - add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth))
237
- - add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([seb1441](https://github.com/seb1441))
333
+ - add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([websebdev](https://github.com/websebdev))
238
334
 
239
335
  **Fixed bugs:**
240
336
 
@@ -1,65 +1,66 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stimulus_reflex (3.3.0.pre3)
5
- cable_ready (>= 4.1.2)
4
+ stimulus_reflex (3.4.0.pre1)
5
+ cable_ready (>= 4.3.0)
6
6
  nokogiri
7
7
  rack
8
8
  rails (>= 5.2)
9
+ redis
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
- actioncable (6.0.3.2)
14
- actionpack (= 6.0.3.2)
14
+ actioncable (6.0.3.4)
15
+ actionpack (= 6.0.3.4)
15
16
  nio4r (~> 2.0)
16
17
  websocket-driver (>= 0.6.1)
17
- actionmailbox (6.0.3.2)
18
- actionpack (= 6.0.3.2)
19
- activejob (= 6.0.3.2)
20
- activerecord (= 6.0.3.2)
21
- activestorage (= 6.0.3.2)
22
- activesupport (= 6.0.3.2)
18
+ actionmailbox (6.0.3.4)
19
+ actionpack (= 6.0.3.4)
20
+ activejob (= 6.0.3.4)
21
+ activerecord (= 6.0.3.4)
22
+ activestorage (= 6.0.3.4)
23
+ activesupport (= 6.0.3.4)
23
24
  mail (>= 2.7.1)
24
- actionmailer (6.0.3.2)
25
- actionpack (= 6.0.3.2)
26
- actionview (= 6.0.3.2)
27
- activejob (= 6.0.3.2)
25
+ actionmailer (6.0.3.4)
26
+ actionpack (= 6.0.3.4)
27
+ actionview (= 6.0.3.4)
28
+ activejob (= 6.0.3.4)
28
29
  mail (~> 2.5, >= 2.5.4)
29
30
  rails-dom-testing (~> 2.0)
30
- actionpack (6.0.3.2)
31
- actionview (= 6.0.3.2)
32
- activesupport (= 6.0.3.2)
31
+ actionpack (6.0.3.4)
32
+ actionview (= 6.0.3.4)
33
+ activesupport (= 6.0.3.4)
33
34
  rack (~> 2.0, >= 2.0.8)
34
35
  rack-test (>= 0.6.3)
35
36
  rails-dom-testing (~> 2.0)
36
37
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
- actiontext (6.0.3.2)
38
- actionpack (= 6.0.3.2)
39
- activerecord (= 6.0.3.2)
40
- activestorage (= 6.0.3.2)
41
- activesupport (= 6.0.3.2)
38
+ actiontext (6.0.3.4)
39
+ actionpack (= 6.0.3.4)
40
+ activerecord (= 6.0.3.4)
41
+ activestorage (= 6.0.3.4)
42
+ activesupport (= 6.0.3.4)
42
43
  nokogiri (>= 1.8.5)
43
- actionview (6.0.3.2)
44
- activesupport (= 6.0.3.2)
44
+ actionview (6.0.3.4)
45
+ activesupport (= 6.0.3.4)
45
46
  builder (~> 3.1)
46
47
  erubi (~> 1.4)
47
48
  rails-dom-testing (~> 2.0)
48
49
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
- activejob (6.0.3.2)
50
- activesupport (= 6.0.3.2)
50
+ activejob (6.0.3.4)
51
+ activesupport (= 6.0.3.4)
51
52
  globalid (>= 0.3.6)
52
- activemodel (6.0.3.2)
53
- activesupport (= 6.0.3.2)
54
- activerecord (6.0.3.2)
55
- activemodel (= 6.0.3.2)
56
- activesupport (= 6.0.3.2)
57
- activestorage (6.0.3.2)
58
- actionpack (= 6.0.3.2)
59
- activejob (= 6.0.3.2)
60
- activerecord (= 6.0.3.2)
53
+ activemodel (6.0.3.4)
54
+ activesupport (= 6.0.3.4)
55
+ activerecord (6.0.3.4)
56
+ activemodel (= 6.0.3.4)
57
+ activesupport (= 6.0.3.4)
58
+ activestorage (6.0.3.4)
59
+ actionpack (= 6.0.3.4)
60
+ activejob (= 6.0.3.4)
61
+ activerecord (= 6.0.3.4)
61
62
  marcel (~> 0.3.1)
62
- activesupport (6.0.3.2)
63
+ activesupport (6.0.3.4)
63
64
  concurrent-ruby (~> 1.0, >= 1.0.2)
64
65
  i18n (>= 0.7, < 2)
65
66
  minitest (~> 5.1)
@@ -88,12 +89,12 @@ GEM
88
89
  mimemagic (0.3.5)
89
90
  mini_mime (1.0.2)
90
91
  mini_portile2 (2.4.0)
91
- minitest (5.14.1)
92
- nio4r (2.5.2)
92
+ minitest (5.14.2)
93
+ nio4r (2.5.4)
93
94
  nokogiri (1.10.10)
94
95
  mini_portile2 (~> 2.4.0)
95
96
  parallel (1.19.2)
96
- parser (2.7.1.4)
97
+ parser (2.7.2.0)
97
98
  ast (~> 2.4.1)
98
99
  pry (0.12.2)
99
100
  coderay (~> 1.1.0)
@@ -103,60 +104,62 @@ GEM
103
104
  rack (2.2.3)
104
105
  rack-test (1.1.0)
105
106
  rack (>= 1.0, < 3)
106
- rails (6.0.3.2)
107
- actioncable (= 6.0.3.2)
108
- actionmailbox (= 6.0.3.2)
109
- actionmailer (= 6.0.3.2)
110
- actionpack (= 6.0.3.2)
111
- actiontext (= 6.0.3.2)
112
- actionview (= 6.0.3.2)
113
- activejob (= 6.0.3.2)
114
- activemodel (= 6.0.3.2)
115
- activerecord (= 6.0.3.2)
116
- activestorage (= 6.0.3.2)
117
- activesupport (= 6.0.3.2)
107
+ rails (6.0.3.4)
108
+ actioncable (= 6.0.3.4)
109
+ actionmailbox (= 6.0.3.4)
110
+ actionmailer (= 6.0.3.4)
111
+ actionpack (= 6.0.3.4)
112
+ actiontext (= 6.0.3.4)
113
+ actionview (= 6.0.3.4)
114
+ activejob (= 6.0.3.4)
115
+ activemodel (= 6.0.3.4)
116
+ activerecord (= 6.0.3.4)
117
+ activestorage (= 6.0.3.4)
118
+ activesupport (= 6.0.3.4)
118
119
  bundler (>= 1.3.0)
119
- railties (= 6.0.3.2)
120
+ railties (= 6.0.3.4)
120
121
  sprockets-rails (>= 2.0.0)
121
122
  rails-dom-testing (2.0.3)
122
123
  activesupport (>= 4.2.0)
123
124
  nokogiri (>= 1.6)
124
125
  rails-html-sanitizer (1.3.0)
125
126
  loofah (~> 2.3)
126
- railties (6.0.3.2)
127
- actionpack (= 6.0.3.2)
128
- activesupport (= 6.0.3.2)
127
+ railties (6.0.3.4)
128
+ actionpack (= 6.0.3.4)
129
+ activesupport (= 6.0.3.4)
129
130
  method_source
130
131
  rake (>= 0.8.7)
131
132
  thor (>= 0.20.3, < 2.0)
132
133
  rainbow (3.0.0)
133
134
  rake (13.0.1)
134
- regexp_parser (1.7.1)
135
+ redis (4.2.2)
136
+ regexp_parser (1.8.2)
135
137
  rexml (3.2.4)
136
- rubocop (0.89.1)
138
+ rubocop (1.0.0)
137
139
  parallel (~> 1.10)
138
- parser (>= 2.7.1.1)
140
+ parser (>= 2.7.1.5)
139
141
  rainbow (>= 2.2.2, < 4.0)
140
- regexp_parser (>= 1.7)
142
+ regexp_parser (>= 1.8)
141
143
  rexml
142
- rubocop-ast (>= 0.3.0, < 1.0)
144
+ rubocop-ast (>= 0.6.0)
143
145
  ruby-progressbar (~> 1.7)
144
146
  unicode-display_width (>= 1.4.0, < 2.0)
145
- rubocop-ast (0.3.0)
146
- parser (>= 2.7.1.4)
147
- rubocop-performance (1.7.1)
148
- rubocop (>= 0.82.0)
147
+ rubocop-ast (1.1.0)
148
+ parser (>= 2.7.1.5)
149
+ rubocop-performance (1.8.1)
150
+ rubocop (>= 0.87.0)
151
+ rubocop-ast (>= 0.4.0)
149
152
  ruby-progressbar (1.10.1)
150
153
  sprockets (4.0.2)
151
154
  concurrent-ruby (~> 1.0)
152
155
  rack (> 1, < 3)
153
- sprockets-rails (3.2.1)
156
+ sprockets-rails (3.2.2)
154
157
  actionpack (>= 4.0)
155
158
  activesupport (>= 4.0)
156
159
  sprockets (>= 3.0.0)
157
- standard (0.5.2)
158
- rubocop (~> 0.89.1)
159
- rubocop-performance (~> 1.7.1)
160
+ standard (0.8.1)
161
+ rubocop (= 1.0.0)
162
+ rubocop-performance (= 1.8.1)
160
163
  standardrb (1.0.0)
161
164
  standard
162
165
  thor (1.0.1)
@@ -167,7 +170,7 @@ GEM
167
170
  websocket-driver (0.7.3)
168
171
  websocket-extensions (>= 0.1.0)
169
172
  websocket-extensions (0.1.5)
170
- zeitwerk (2.4.0)
173
+ zeitwerk (2.4.1)
171
174
 
172
175
  PLATFORMS
173
176
  ruby
data/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  <img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-brightgreen.svg" target="_blank" />
12
12
  </a>
13
13
  <a href="http://blog.codinghorror.com/the-best-code-is-no-code-at-all/" target="_blank">
14
- <img alt="Lines of Code" src="https://img.shields.io/badge/lines_of_code-1098-brightgreen.svg?style=flat" />
14
+ <img alt="Lines of Code" src="https://img.shields.io/badge/lines_of_code-1322-brightgreen.svg?style=flat" />
15
15
  </a>
16
16
  <a href="https://docs.stimulusreflex.com/" target="_blank">
17
17
  <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
@@ -27,6 +27,9 @@
27
27
  <img alt="JavaScript Code Style" src="https://img.shields.io/badge/JavaScript_Code_Style-prettier_standard-ff69b4.svg" />
28
28
  </a>
29
29
  <br />
30
+ <a href="https://www.codacy.com/manual/hopsoft/stimulus_reflex/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=hopsoft/stimulus_reflex&amp;utm_campaign=Badge_Grade" target="_blank">
31
+ <img alt="Code Quality" src="https://app.codacy.com/project/badge/Grade/d1d72a7060f5467b8696884351cf477f"/>
32
+ </a>
30
33
  <a href="https://codeclimate.com/github/hopsoft/stimulus_reflex/maintainability" target="_blank">
31
34
  <img alt="Maintainability" src="https://api.codeclimate.com/v1/badges/2b24fdbd1ae37a24bedb/maintainability" />
32
35
  </a>
@@ -74,7 +77,7 @@ This project strives to live up to the vision outlined in [The Rails Doctrine](h
74
77
 
75
78
  ## 👩‍👩‍👧 Discord Community
76
79
 
77
- Please join over 350 of us on [Discord](https://discord.gg/XveN625) for support getting started, as well as active discussions around Rails, StimulusJS and CableReady.
80
+ Please join over 600 of us on [Discord](https://discord.gg/XveN625) for support getting started, as well as active discussions around Rails, StimulusJS and CableReady.
78
81
 
79
82
  ![](https://img.shields.io/discord/629472241427415060)
80
83
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class StimulusReflex::Channel < ActionCable::Channel::Base
3
+ class StimulusReflex::Channel < StimulusReflex.configuration.parent_channel.constantize
4
4
  def stream_name
5
5
  ids = connection.identifiers.map { |identifier| send(identifier).try(:id) || send(identifier) }
6
6
  [
@@ -10,6 +10,8 @@ class StimulusReflex::Channel < ActionCable::Channel::Base
10
10
  end
11
11
 
12
12
  def subscribed
13
+ super
14
+ fix_environment!
13
15
  stream_from stream_name
14
16
  end
15
17
 
@@ -23,8 +25,9 @@ class StimulusReflex::Channel < ActionCable::Channel::Base
23
25
  reflex_name = reflex_name.end_with?("Reflex") ? reflex_name : "#{reflex_name}Reflex"
24
26
  arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg }
25
27
  element = StimulusReflex::Element.new(data)
26
- permanent_attribute_name = data["permanent_attribute_name"]
27
- params = data["params"] || {}
28
+ permanent_attribute_name = data["permanentAttributeName"]
29
+ form_data = Rack::Utils.parse_nested_query(data["formData"])
30
+ params = form_data.deep_merge(data["params"] || {})
28
31
 
29
32
  begin
30
33
  begin
@@ -33,10 +36,10 @@ class StimulusReflex::Channel < ActionCable::Channel::Base
33
36
  delegate_call_to_reflex reflex, method_name, arguments
34
37
  rescue => invoke_error
35
38
  message = exception_message_with_backtrace(invoke_error)
36
- body = "StimulusReflex::Channel Failed to invoke #{target}! #{url} #{message}"
39
+ body = "Reflex #{target} failed: #{message} [#{url}]"
37
40
  if reflex
38
41
  reflex.rescue_with_handler(invoke_error)
39
- reflex.broadcast_message subject: "error", body: body, data: data
42
+ reflex.broadcast_message subject: "error", body: body, data: data, error: invoke_error
40
43
  else
41
44
  logger.error "\e[31m#{body}\e[0m"
42
45
  end
@@ -51,7 +54,8 @@ class StimulusReflex::Channel < ActionCable::Channel::Base
51
54
  rescue => render_error
52
55
  reflex.rescue_with_handler(render_error)
53
56
  message = exception_message_with_backtrace(render_error)
54
- reflex.broadcast_message subject: "error", body: "StimulusReflex::Channel Failed to re-render #{url} #{message}", data: data
57
+ body = "Reflex failed to re-render: #{message} [#{url}]"
58
+ reflex.broadcast_message subject: "error", body: body, data: data, error: render_error
55
59
  end
56
60
  end
57
61
  ensure
@@ -94,6 +98,12 @@ class StimulusReflex::Channel < ActionCable::Channel::Base
94
98
  end
95
99
 
96
100
  def exception_message_with_backtrace(exception)
97
- "#{exception} #{exception.backtrace.first}"
101
+ "#{exception}\n#{exception.backtrace.first}"
102
+ end
103
+
104
+ def fix_environment!
105
+ ([ApplicationController] + ApplicationController.descendants).each do |controller|
106
+ controller.renderer.instance_variable_set(:@env, connection.env.merge(controller.renderer.instance_variable_get(:@env)))
107
+ end
98
108
  end
99
109
  end