stimulus_reflex 3.3.0.pre4 → 3.4.0.pre1
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.
Potentially problematic release.
This version of stimulus_reflex might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +100 -4
- data/Gemfile.lock +72 -69
- data/README.md +5 -2
- data/{lib → app/channels}/stimulus_reflex/channel.rb +17 -7
- data/lib/generators/stimulus_reflex/config_generator.rb +14 -0
- data/lib/generators/{stimulus_reflex_generator.rb → stimulus_reflex/stimulus_reflex_generator.rb} +0 -0
- data/lib/generators/stimulus_reflex/templates/app/javascript/controllers/%file_name%_controller.js.tt +89 -0
- data/lib/generators/{templates → stimulus_reflex/templates}/app/javascript/controllers/application_controller.js.tt +11 -8
- data/lib/generators/{templates → stimulus_reflex/templates}/app/reflexes/%file_name%_reflex.rb.tt +0 -0
- data/lib/generators/{templates → stimulus_reflex/templates}/app/reflexes/application_reflex.rb.tt +0 -0
- data/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb +9 -0
- data/lib/stimulus_reflex.rb +5 -2
- data/lib/stimulus_reflex/broadcasters/broadcaster.rb +3 -7
- data/lib/stimulus_reflex/broadcasters/page_broadcaster.rb +2 -2
- data/lib/stimulus_reflex/broadcasters/selector_broadcaster.rb +2 -2
- data/lib/stimulus_reflex/configuration.rb +24 -0
- data/lib/stimulus_reflex/element.rb +8 -0
- data/lib/stimulus_reflex/reflex.rb +21 -18
- data/lib/stimulus_reflex/sanity_checker.rb +98 -0
- data/lib/stimulus_reflex/version.rb +1 -1
- data/lib/tasks/stimulus_reflex/install.rake +23 -8
- data/package.json +63 -0
- data/stimulus_reflex.gemspec +40 -0
- data/tags +98 -0
- data/test/generators/stimulus_reflex_generator_test.rb +3 -2
- data/test/tmp/app/reflexes/application_reflex.rb +12 -0
- data/test/tmp/app/reflexes/user_reflex.rb +33 -0
- data/yarn.lock +6261 -0
- metadata +27 -15
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96bccb8addb37f4a5096017acee725da0b9b85316216adf56e5591b582b337c5
|
4
|
+
data.tar.gz: b7e3559981c86136e2db6f0a91eb7996cada8606c12eb23ab339220729bebb06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc0767685fc9cc55fce312f2112ec0b42682aeaae5200ca2f8b1371539e458cdfd55cf46335a22682a4fce50c851a9a996b7e12cf3caa4b12d3f309e3fb6ee4d
|
7
|
+
data.tar.gz: f28b5af48c24bd07542e37ee5f940df373cc7f74a068c67dddfd8eda0f31a1131802bceaa69713f2f69235955e0b33a79fda1fed33cad66653158eb0e84c6654
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,108 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [
|
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.
|
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) ([
|
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) ([
|
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
|
|
data/Gemfile.lock
CHANGED
@@ -1,65 +1,66 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stimulus_reflex (3.
|
5
|
-
cable_ready (>= 4.
|
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.
|
14
|
-
actionpack (= 6.0.3.
|
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.
|
18
|
-
actionpack (= 6.0.3.
|
19
|
-
activejob (= 6.0.3.
|
20
|
-
activerecord (= 6.0.3.
|
21
|
-
activestorage (= 6.0.3.
|
22
|
-
activesupport (= 6.0.3.
|
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.
|
25
|
-
actionpack (= 6.0.3.
|
26
|
-
actionview (= 6.0.3.
|
27
|
-
activejob (= 6.0.3.
|
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.
|
31
|
-
actionview (= 6.0.3.
|
32
|
-
activesupport (= 6.0.3.
|
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.
|
38
|
-
actionpack (= 6.0.3.
|
39
|
-
activerecord (= 6.0.3.
|
40
|
-
activestorage (= 6.0.3.
|
41
|
-
activesupport (= 6.0.3.
|
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.
|
44
|
-
activesupport (= 6.0.3.
|
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.
|
50
|
-
activesupport (= 6.0.3.
|
50
|
+
activejob (6.0.3.4)
|
51
|
+
activesupport (= 6.0.3.4)
|
51
52
|
globalid (>= 0.3.6)
|
52
|
-
activemodel (6.0.3.
|
53
|
-
activesupport (= 6.0.3.
|
54
|
-
activerecord (6.0.3.
|
55
|
-
activemodel (= 6.0.3.
|
56
|
-
activesupport (= 6.0.3.
|
57
|
-
activestorage (6.0.3.
|
58
|
-
actionpack (= 6.0.3.
|
59
|
-
activejob (= 6.0.3.
|
60
|
-
activerecord (= 6.0.3.
|
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.
|
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.
|
92
|
-
nio4r (2.5.
|
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.
|
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.
|
107
|
-
actioncable (= 6.0.3.
|
108
|
-
actionmailbox (= 6.0.3.
|
109
|
-
actionmailer (= 6.0.3.
|
110
|
-
actionpack (= 6.0.3.
|
111
|
-
actiontext (= 6.0.3.
|
112
|
-
actionview (= 6.0.3.
|
113
|
-
activejob (= 6.0.3.
|
114
|
-
activemodel (= 6.0.3.
|
115
|
-
activerecord (= 6.0.3.
|
116
|
-
activestorage (= 6.0.3.
|
117
|
-
activesupport (= 6.0.3.
|
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.
|
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.
|
127
|
-
actionpack (= 6.0.3.
|
128
|
-
activesupport (= 6.0.3.
|
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
|
-
|
135
|
+
redis (4.2.2)
|
136
|
+
regexp_parser (1.8.2)
|
135
137
|
rexml (3.2.4)
|
136
|
-
rubocop (0.
|
138
|
+
rubocop (1.0.0)
|
137
139
|
parallel (~> 1.10)
|
138
|
-
parser (>= 2.7.1.
|
140
|
+
parser (>= 2.7.1.5)
|
139
141
|
rainbow (>= 2.2.2, < 4.0)
|
140
|
-
regexp_parser (>= 1.
|
142
|
+
regexp_parser (>= 1.8)
|
141
143
|
rexml
|
142
|
-
rubocop-ast (>= 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 (
|
146
|
-
parser (>= 2.7.1.
|
147
|
-
rubocop-performance (1.
|
148
|
-
rubocop (>= 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.
|
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.
|
158
|
-
rubocop (
|
159
|
-
rubocop-performance (
|
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.
|
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-
|
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&utm_medium=referral&utm_content=hopsoft/stimulus_reflex&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
|
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
|

|
80
83
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
class StimulusReflex::Channel <
|
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["
|
27
|
-
|
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 = "
|
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
|
-
|
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}
|
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
|