futurism 1.2.0 → 1.4.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +160 -116
  3. data/Gemfile.lock~ +267 -0
  4. data/README.md +26 -0
  5. data/app/assets/javascripts/futurism.min.js.map +1 -1
  6. data/app/assets/javascripts/futurism.umd.min.js.map +1 -1
  7. data/futurism.gemspec +0 -3
  8. data/futurism.gemspec~ +1 -4
  9. data/lib/futurism/engine.rb +4 -0
  10. data/lib/futurism/helpers.rb +6 -6
  11. data/lib/futurism/message_verifier.rb +2 -2
  12. data/lib/futurism/options_transformer.rb +1 -1
  13. data/lib/futurism/resolver/controller/instrumentation.rb +33 -0
  14. data/lib/futurism/resolver/controller/renderer.rb +6 -2
  15. data/lib/futurism/resolver/resources.rb +3 -3
  16. data/lib/futurism/version.rb +1 -1
  17. data/lib/futurism.rb +11 -3
  18. data/package.json +1 -1
  19. data/package.json~ +2 -2
  20. data/yarn.lock +61 -21
  21. metadata +6 -94
  22. data/test/cable/channel_test.rb +0 -319
  23. data/test/dummy/app/channels/application_cable/channel.rb +0 -4
  24. data/test/dummy/app/channels/application_cable/connection.rb +0 -4
  25. data/test/dummy/app/controllers/application_controller.rb +0 -2
  26. data/test/dummy/app/controllers/home_controller.rb +0 -6
  27. data/test/dummy/app/controllers/posts_controller.rb +0 -59
  28. data/test/dummy/app/helpers/application_helper.rb +0 -2
  29. data/test/dummy/app/helpers/posts_helper.rb +0 -2
  30. data/test/dummy/app/jobs/application_job.rb +0 -7
  31. data/test/dummy/app/models/action_item.rb +0 -2
  32. data/test/dummy/app/models/application_record.rb +0 -3
  33. data/test/dummy/app/models/post.rb +0 -2
  34. data/test/dummy/config/application.rb +0 -29
  35. data/test/dummy/config/boot.rb +0 -5
  36. data/test/dummy/config/environment.rb +0 -5
  37. data/test/dummy/config/environments/development.rb +0 -40
  38. data/test/dummy/config/environments/production.rb +0 -94
  39. data/test/dummy/config/environments/test.rb +0 -39
  40. data/test/dummy/config/initializers/application_controller_renderer.rb +0 -8
  41. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  42. data/test/dummy/config/initializers/content_security_policy.rb +0 -28
  43. data/test/dummy/config/initializers/cookies_serializer.rb +0 -5
  44. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  45. data/test/dummy/config/initializers/inflections.rb +0 -16
  46. data/test/dummy/config/initializers/mime_types.rb +0 -4
  47. data/test/dummy/config/initializers/wrap_parameters.rb +0 -9
  48. data/test/dummy/config/puma.rb +0 -38
  49. data/test/dummy/config/routes.rb +0 -12
  50. data/test/dummy/config/spring.rb +0 -6
  51. data/test/dummy/db/migrate/20200711122838_create_posts.rb +0 -9
  52. data/test/dummy/db/migrate/2021042923813_create_action_items.rb +0 -9
  53. data/test/dummy/db/schema.rb +0 -27
  54. data/test/futurism_test.rb +0 -28
  55. data/test/helper/helper_test.rb +0 -206
  56. data/test/integration/navigation_test.rb +0 -7
  57. data/test/resolver/controller/renderer_test.rb +0 -120
  58. data/test/resolver/controller_test.rb +0 -26
  59. data/test/test_helper.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1ccfe52300a950587d804aaa4979ebe1ba9b48f3d945d1c1ab2580f8b4e6adc7
4
- data.tar.gz: 283e234ddb65fadfba97b47305ac3951fd9df5f173ff714564b379170becb493
3
+ metadata.gz: fd917c5dfa75b393fca3a9217cffbc87ac94d531f0db94fab16e67d1ae8b06bb
4
+ data.tar.gz: e9ad74b79576d47d06d79782e0cef27394a6c992ec24fd9d34ffd6844d010ad4
5
5
  SHA512:
6
- metadata.gz: f95d80439c90984025223ec802e520434079a00e84e98d7c14f79495d6b7b19d8dba072a0e26ba1e1f34c751821bce398bcbe0fed005aea4a95a8fe12d067ada
7
- data.tar.gz: 9cd61de7158bd555b31ee302d3fec6b39590b4a434ca0bd4432e14964315c20c914802822febdc693339f1cbd1c4b36d0d2a7a818d6cac9ce2b906688d1a1adb
6
+ metadata.gz: 4d14d1149ea6482ec77273a84bdd1228be7bd0381e4677353419a153036db6c11bf5c7ad61458259bfca6011cc25da51eafd20d071a3e09040a46b67c4478a01
7
+ data.tar.gz: '096aa82435866ea9d12c77a87ceec0d7d16f8d5fa4cdb6512f3fde8e749d5e01865f3ee50aaa17250da98779cdf8ca9fcb82bed8042ae58c418caef06c12b909'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- futurism (1.2.0)
4
+ futurism (1.4.0)
5
5
  cable_ready (>= 5.0)
6
6
  rack (~> 2.0)
7
7
  rails (>= 5.2)
@@ -9,201 +9,245 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- actioncable (7.0.4.3)
13
- actionpack (= 7.0.4.3)
14
- activesupport (= 7.0.4.3)
12
+ actioncable (7.1.3.2)
13
+ actionpack (= 7.1.3.2)
14
+ activesupport (= 7.1.3.2)
15
15
  nio4r (~> 2.0)
16
16
  websocket-driver (>= 0.6.1)
17
- actionmailbox (7.0.4.3)
18
- actionpack (= 7.0.4.3)
19
- activejob (= 7.0.4.3)
20
- activerecord (= 7.0.4.3)
21
- activestorage (= 7.0.4.3)
22
- activesupport (= 7.0.4.3)
17
+ zeitwerk (~> 2.6)
18
+ actionmailbox (7.1.3.2)
19
+ actionpack (= 7.1.3.2)
20
+ activejob (= 7.1.3.2)
21
+ activerecord (= 7.1.3.2)
22
+ activestorage (= 7.1.3.2)
23
+ activesupport (= 7.1.3.2)
23
24
  mail (>= 2.7.1)
24
25
  net-imap
25
26
  net-pop
26
27
  net-smtp
27
- actionmailer (7.0.4.3)
28
- actionpack (= 7.0.4.3)
29
- actionview (= 7.0.4.3)
30
- activejob (= 7.0.4.3)
31
- activesupport (= 7.0.4.3)
28
+ actionmailer (7.1.3.2)
29
+ actionpack (= 7.1.3.2)
30
+ actionview (= 7.1.3.2)
31
+ activejob (= 7.1.3.2)
32
+ activesupport (= 7.1.3.2)
32
33
  mail (~> 2.5, >= 2.5.4)
33
34
  net-imap
34
35
  net-pop
35
36
  net-smtp
36
- rails-dom-testing (~> 2.0)
37
- actionpack (7.0.4.3)
38
- actionview (= 7.0.4.3)
39
- activesupport (= 7.0.4.3)
40
- rack (~> 2.0, >= 2.2.0)
37
+ rails-dom-testing (~> 2.2)
38
+ actionpack (7.1.3.2)
39
+ actionview (= 7.1.3.2)
40
+ activesupport (= 7.1.3.2)
41
+ nokogiri (>= 1.8.5)
42
+ racc
43
+ rack (>= 2.2.4)
44
+ rack-session (>= 1.0.1)
41
45
  rack-test (>= 0.6.3)
42
- rails-dom-testing (~> 2.0)
43
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
44
- actiontext (7.0.4.3)
45
- actionpack (= 7.0.4.3)
46
- activerecord (= 7.0.4.3)
47
- activestorage (= 7.0.4.3)
48
- activesupport (= 7.0.4.3)
46
+ rails-dom-testing (~> 2.2)
47
+ rails-html-sanitizer (~> 1.6)
48
+ actiontext (7.1.3.2)
49
+ actionpack (= 7.1.3.2)
50
+ activerecord (= 7.1.3.2)
51
+ activestorage (= 7.1.3.2)
52
+ activesupport (= 7.1.3.2)
49
53
  globalid (>= 0.6.0)
50
54
  nokogiri (>= 1.8.5)
51
- actionview (7.0.4.3)
52
- activesupport (= 7.0.4.3)
55
+ actionview (7.1.3.2)
56
+ activesupport (= 7.1.3.2)
53
57
  builder (~> 3.1)
54
- erubi (~> 1.4)
55
- rails-dom-testing (~> 2.0)
56
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
57
- activejob (7.0.4.3)
58
- activesupport (= 7.0.4.3)
58
+ erubi (~> 1.11)
59
+ rails-dom-testing (~> 2.2)
60
+ rails-html-sanitizer (~> 1.6)
61
+ activejob (7.1.3.2)
62
+ activesupport (= 7.1.3.2)
59
63
  globalid (>= 0.3.6)
60
- activemodel (7.0.4.3)
61
- activesupport (= 7.0.4.3)
62
- activerecord (7.0.4.3)
63
- activemodel (= 7.0.4.3)
64
- activesupport (= 7.0.4.3)
65
- activestorage (7.0.4.3)
66
- actionpack (= 7.0.4.3)
67
- activejob (= 7.0.4.3)
68
- activerecord (= 7.0.4.3)
69
- activesupport (= 7.0.4.3)
64
+ activemodel (7.1.3.2)
65
+ activesupport (= 7.1.3.2)
66
+ activerecord (7.1.3.2)
67
+ activemodel (= 7.1.3.2)
68
+ activesupport (= 7.1.3.2)
69
+ timeout (>= 0.4.0)
70
+ activestorage (7.1.3.2)
71
+ actionpack (= 7.1.3.2)
72
+ activejob (= 7.1.3.2)
73
+ activerecord (= 7.1.3.2)
74
+ activesupport (= 7.1.3.2)
70
75
  marcel (~> 1.0)
71
- mini_mime (>= 1.1.0)
72
- activesupport (7.0.4.3)
76
+ activesupport (7.1.3.2)
77
+ base64
78
+ bigdecimal
73
79
  concurrent-ruby (~> 1.0, >= 1.0.2)
80
+ connection_pool (>= 2.2.5)
81
+ drb
74
82
  i18n (>= 1.6, < 2)
75
83
  minitest (>= 5.1)
84
+ mutex_m
76
85
  tzinfo (~> 2.0)
77
- appraisal (2.4.1)
86
+ appraisal (2.5.0)
78
87
  bundler
79
88
  rake
80
89
  thor (>= 0.14.0)
81
90
  ast (2.4.2)
91
+ base64 (0.2.0)
92
+ bigdecimal (3.1.6)
82
93
  builder (3.2.4)
83
- cable_ready (5.0.0)
94
+ cable_ready (5.0.3)
84
95
  actionpack (>= 5.2)
85
96
  actionview (>= 5.2)
86
97
  activesupport (>= 5.2)
87
98
  railties (>= 5.2)
88
99
  thread-local (>= 1.1.0)
89
- coderay (1.1.3)
90
- concurrent-ruby (1.2.2)
100
+ concurrent-ruby (1.2.3)
101
+ connection_pool (2.4.1)
91
102
  crass (1.0.6)
92
- date (3.3.3)
103
+ date (3.3.4)
104
+ drb (2.2.1)
93
105
  erubi (1.12.0)
94
- globalid (1.1.0)
95
- activesupport (>= 5.0)
96
- i18n (1.12.0)
106
+ globalid (1.2.1)
107
+ activesupport (>= 6.1)
108
+ i18n (1.14.4)
97
109
  concurrent-ruby (~> 1.0)
98
- json (2.6.3)
110
+ io-console (0.7.2)
111
+ irb (1.12.0)
112
+ rdoc
113
+ reline (>= 0.4.2)
114
+ json (2.7.1)
99
115
  language_server-protocol (3.17.0.3)
100
- loofah (2.20.0)
116
+ lint_roller (1.1.0)
117
+ loofah (2.22.0)
101
118
  crass (~> 1.0.2)
102
- nokogiri (>= 1.5.9)
119
+ nokogiri (>= 1.12.0)
103
120
  mail (2.8.1)
104
121
  mini_mime (>= 0.1.1)
105
122
  net-imap
106
123
  net-pop
107
124
  net-smtp
108
- marcel (1.0.2)
109
- method_source (0.9.2)
110
- mini_mime (1.1.2)
111
- minitest (5.18.0)
112
- net-imap (0.3.4)
125
+ marcel (1.0.4)
126
+ mini_mime (1.1.5)
127
+ minitest (5.22.2)
128
+ mutex_m (0.2.0)
129
+ net-imap (0.4.10)
113
130
  date
114
131
  net-protocol
115
132
  net-pop (0.1.2)
116
133
  net-protocol
117
- net-protocol (0.2.1)
134
+ net-protocol (0.2.2)
118
135
  timeout
119
- net-smtp (0.3.3)
136
+ net-smtp (0.4.0.1)
120
137
  net-protocol
121
- nio4r (2.5.9)
122
- nokogiri (1.14.2-arm64-darwin)
138
+ nio4r (2.7.0)
139
+ nokogiri (1.16.2-arm64-darwin)
140
+ racc (~> 1.4)
141
+ nokogiri (1.16.2-x86_64-linux)
123
142
  racc (~> 1.4)
124
- parallel (1.22.1)
125
- parser (3.2.1.1)
143
+ parallel (1.24.0)
144
+ parser (3.3.0.5)
126
145
  ast (~> 2.4.1)
127
- pry (0.12.2)
128
- coderay (~> 1.1.0)
129
- method_source (~> 0.9.0)
130
- racc (1.6.2)
131
- rack (2.2.6.4)
146
+ racc
147
+ psych (5.1.2)
148
+ stringio
149
+ racc (1.7.3)
150
+ rack (2.2.8.1)
151
+ rack-session (1.0.2)
152
+ rack (< 3)
132
153
  rack-test (2.1.0)
133
154
  rack (>= 1.3)
134
- rails (7.0.4.3)
135
- actioncable (= 7.0.4.3)
136
- actionmailbox (= 7.0.4.3)
137
- actionmailer (= 7.0.4.3)
138
- actionpack (= 7.0.4.3)
139
- actiontext (= 7.0.4.3)
140
- actionview (= 7.0.4.3)
141
- activejob (= 7.0.4.3)
142
- activemodel (= 7.0.4.3)
143
- activerecord (= 7.0.4.3)
144
- activestorage (= 7.0.4.3)
145
- activesupport (= 7.0.4.3)
155
+ rackup (1.0.0)
156
+ rack (< 3)
157
+ webrick
158
+ rails (7.1.3.2)
159
+ actioncable (= 7.1.3.2)
160
+ actionmailbox (= 7.1.3.2)
161
+ actionmailer (= 7.1.3.2)
162
+ actionpack (= 7.1.3.2)
163
+ actiontext (= 7.1.3.2)
164
+ actionview (= 7.1.3.2)
165
+ activejob (= 7.1.3.2)
166
+ activemodel (= 7.1.3.2)
167
+ activerecord (= 7.1.3.2)
168
+ activestorage (= 7.1.3.2)
169
+ activesupport (= 7.1.3.2)
146
170
  bundler (>= 1.15.0)
147
- railties (= 7.0.4.3)
148
- rails-dom-testing (2.0.3)
149
- activesupport (>= 4.2.0)
171
+ railties (= 7.1.3.2)
172
+ rails-dom-testing (2.2.0)
173
+ activesupport (>= 5.0.0)
174
+ minitest
150
175
  nokogiri (>= 1.6)
151
- rails-html-sanitizer (1.5.0)
152
- loofah (~> 2.19, >= 2.19.1)
153
- railties (7.0.4.3)
154
- actionpack (= 7.0.4.3)
155
- activesupport (= 7.0.4.3)
156
- method_source
176
+ rails-html-sanitizer (1.6.0)
177
+ loofah (~> 2.21)
178
+ nokogiri (~> 1.14)
179
+ railties (7.1.3.2)
180
+ actionpack (= 7.1.3.2)
181
+ activesupport (= 7.1.3.2)
182
+ irb
183
+ rackup (>= 1.0.0)
157
184
  rake (>= 12.2)
158
- thor (~> 1.0)
159
- zeitwerk (~> 2.5)
185
+ thor (~> 1.0, >= 1.2.2)
186
+ zeitwerk (~> 2.6)
160
187
  rainbow (3.1.1)
161
- rake (13.0.6)
162
- regexp_parser (2.7.0)
163
- rexml (3.2.5)
164
- rubocop (1.48.1)
188
+ rake (13.1.0)
189
+ rdoc (6.6.2)
190
+ psych (>= 4.0.0)
191
+ regexp_parser (2.9.0)
192
+ reline (0.4.3)
193
+ io-console (~> 0.5)
194
+ rexml (3.2.6)
195
+ rubocop (1.60.2)
165
196
  json (~> 2.3)
197
+ language_server-protocol (>= 3.17.0)
166
198
  parallel (~> 1.10)
167
- parser (>= 3.2.0.0)
199
+ parser (>= 3.3.0.2)
168
200
  rainbow (>= 2.2.2, < 4.0)
169
201
  regexp_parser (>= 1.8, < 3.0)
170
202
  rexml (>= 3.2.5, < 4.0)
171
- rubocop-ast (>= 1.26.0, < 2.0)
203
+ rubocop-ast (>= 1.30.0, < 2.0)
172
204
  ruby-progressbar (~> 1.7)
173
205
  unicode-display_width (>= 2.4.0, < 3.0)
174
- rubocop-ast (1.28.0)
206
+ rubocop-ast (1.30.0)
175
207
  parser (>= 3.2.1.0)
176
- rubocop-performance (1.16.0)
177
- rubocop (>= 1.7.0, < 2.0)
178
- rubocop-ast (>= 0.4.0)
208
+ rubocop-performance (1.20.2)
209
+ rubocop (>= 1.48.1, < 2.0)
210
+ rubocop-ast (>= 1.30.0, < 2.0)
179
211
  ruby-progressbar (1.13.0)
180
- sqlite3 (1.6.1-arm64-darwin)
181
- standard (1.25.3)
212
+ sqlite3 (1.7.2-arm64-darwin)
213
+ sqlite3 (1.7.2-x86_64-linux)
214
+ standard (1.34.0)
182
215
  language_server-protocol (~> 3.17.0.2)
183
- rubocop (~> 1.48.1)
184
- rubocop-performance (~> 1.16.0)
216
+ lint_roller (~> 1.0)
217
+ rubocop (~> 1.60)
218
+ standard-custom (~> 1.0.0)
219
+ standard-performance (~> 1.3)
220
+ standard-custom (1.0.2)
221
+ lint_roller (~> 1.0)
222
+ rubocop (~> 1.50)
223
+ standard-performance (1.3.1)
224
+ lint_roller (~> 1.1)
225
+ rubocop-performance (~> 1.20.2)
185
226
  standardrb (1.0.1)
186
227
  standard
187
- thor (1.2.1)
228
+ stringio (3.1.0)
229
+ thor (1.3.1)
188
230
  thread-local (1.1.0)
189
- timeout (0.3.2)
231
+ timeout (0.4.1)
190
232
  tzinfo (2.0.6)
191
233
  concurrent-ruby (~> 1.0)
192
- unicode-display_width (2.4.2)
193
- websocket-driver (0.7.5)
234
+ unicode-display_width (2.5.0)
235
+ webrick (1.8.1)
236
+ websocket-driver (0.7.6)
194
237
  websocket-extensions (>= 0.1.0)
195
238
  websocket-extensions (0.1.5)
196
- zeitwerk (2.6.7)
239
+ zeitwerk (2.6.13)
197
240
 
198
241
  PLATFORMS
199
242
  arm64-darwin-21
243
+ arm64-darwin-22
244
+ x86_64-linux
200
245
 
201
246
  DEPENDENCIES
202
247
  appraisal
203
248
  bundler (~> 2.0)
204
249
  futurism!
205
250
  nokogiri
206
- pry (~> 0.12.2)
207
251
  rake (~> 13.0)
208
252
  sqlite3
209
253
  standardrb
data/Gemfile.lock~ ADDED
@@ -0,0 +1,267 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ futurism (1.3.0)
5
+ cable_ready (>= 5.0)
6
+ rack (~> 2.0)
7
+ rails (>= 5.2)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (7.1.3.2)
13
+ actionpack (= 7.1.3.2)
14
+ activesupport (= 7.1.3.2)
15
+ nio4r (~> 2.0)
16
+ websocket-driver (>= 0.6.1)
17
+ zeitwerk (~> 2.6)
18
+ actionmailbox (7.1.3.2)
19
+ actionpack (= 7.1.3.2)
20
+ activejob (= 7.1.3.2)
21
+ activerecord (= 7.1.3.2)
22
+ activestorage (= 7.1.3.2)
23
+ activesupport (= 7.1.3.2)
24
+ mail (>= 2.7.1)
25
+ net-imap
26
+ net-pop
27
+ net-smtp
28
+ actionmailer (7.1.3.2)
29
+ actionpack (= 7.1.3.2)
30
+ actionview (= 7.1.3.2)
31
+ activejob (= 7.1.3.2)
32
+ activesupport (= 7.1.3.2)
33
+ mail (~> 2.5, >= 2.5.4)
34
+ net-imap
35
+ net-pop
36
+ net-smtp
37
+ rails-dom-testing (~> 2.2)
38
+ actionpack (7.1.3.2)
39
+ actionview (= 7.1.3.2)
40
+ activesupport (= 7.1.3.2)
41
+ nokogiri (>= 1.8.5)
42
+ racc
43
+ rack (>= 2.2.4)
44
+ rack-session (>= 1.0.1)
45
+ rack-test (>= 0.6.3)
46
+ rails-dom-testing (~> 2.2)
47
+ rails-html-sanitizer (~> 1.6)
48
+ actiontext (7.1.3.2)
49
+ actionpack (= 7.1.3.2)
50
+ activerecord (= 7.1.3.2)
51
+ activestorage (= 7.1.3.2)
52
+ activesupport (= 7.1.3.2)
53
+ globalid (>= 0.6.0)
54
+ nokogiri (>= 1.8.5)
55
+ actionview (7.1.3.2)
56
+ activesupport (= 7.1.3.2)
57
+ builder (~> 3.1)
58
+ erubi (~> 1.11)
59
+ rails-dom-testing (~> 2.2)
60
+ rails-html-sanitizer (~> 1.6)
61
+ activejob (7.1.3.2)
62
+ activesupport (= 7.1.3.2)
63
+ globalid (>= 0.3.6)
64
+ activemodel (7.1.3.2)
65
+ activesupport (= 7.1.3.2)
66
+ activerecord (7.1.3.2)
67
+ activemodel (= 7.1.3.2)
68
+ activesupport (= 7.1.3.2)
69
+ timeout (>= 0.4.0)
70
+ activestorage (7.1.3.2)
71
+ actionpack (= 7.1.3.2)
72
+ activejob (= 7.1.3.2)
73
+ activerecord (= 7.1.3.2)
74
+ activesupport (= 7.1.3.2)
75
+ marcel (~> 1.0)
76
+ activesupport (7.1.3.2)
77
+ base64
78
+ bigdecimal
79
+ concurrent-ruby (~> 1.0, >= 1.0.2)
80
+ connection_pool (>= 2.2.5)
81
+ drb
82
+ i18n (>= 1.6, < 2)
83
+ minitest (>= 5.1)
84
+ mutex_m
85
+ tzinfo (~> 2.0)
86
+ appraisal (2.5.0)
87
+ bundler
88
+ rake
89
+ thor (>= 0.14.0)
90
+ ast (2.4.2)
91
+ base64 (0.2.0)
92
+ bigdecimal (3.1.6)
93
+ builder (3.2.4)
94
+ cable_ready (5.0.3)
95
+ actionpack (>= 5.2)
96
+ actionview (>= 5.2)
97
+ activesupport (>= 5.2)
98
+ railties (>= 5.2)
99
+ thread-local (>= 1.1.0)
100
+ concurrent-ruby (1.2.3)
101
+ connection_pool (2.4.1)
102
+ crass (1.0.6)
103
+ date (3.3.4)
104
+ debug (1.9.1)
105
+ irb (~> 1.10)
106
+ reline (>= 0.3.8)
107
+ drb (2.2.0)
108
+ ruby2_keywords
109
+ erubi (1.12.0)
110
+ globalid (1.2.1)
111
+ activesupport (>= 6.1)
112
+ i18n (1.14.1)
113
+ concurrent-ruby (~> 1.0)
114
+ io-console (0.7.2)
115
+ irb (1.11.2)
116
+ rdoc
117
+ reline (>= 0.4.2)
118
+ json (2.7.1)
119
+ language_server-protocol (3.17.0.3)
120
+ lint_roller (1.1.0)
121
+ loofah (2.22.0)
122
+ crass (~> 1.0.2)
123
+ nokogiri (>= 1.12.0)
124
+ mail (2.8.1)
125
+ mini_mime (>= 0.1.1)
126
+ net-imap
127
+ net-pop
128
+ net-smtp
129
+ marcel (1.0.2)
130
+ mini_mime (1.1.5)
131
+ minitest (5.22.2)
132
+ mutex_m (0.2.0)
133
+ net-imap (0.4.10)
134
+ date
135
+ net-protocol
136
+ net-pop (0.1.2)
137
+ net-protocol
138
+ net-protocol (0.2.2)
139
+ timeout
140
+ net-smtp (0.4.0.1)
141
+ net-protocol
142
+ nio4r (2.7.0)
143
+ nokogiri (1.16.2-arm64-darwin)
144
+ racc (~> 1.4)
145
+ nokogiri (1.16.2-x86_64-linux)
146
+ racc (~> 1.4)
147
+ parallel (1.24.0)
148
+ parser (3.3.0.5)
149
+ ast (~> 2.4.1)
150
+ <<<<<<< HEAD
151
+ racc (1.7.3)
152
+ rack (2.2.8)
153
+ =======
154
+ racc
155
+ psych (5.1.2)
156
+ stringio
157
+ racc (1.7.3)
158
+ rack (2.2.8.1)
159
+ rack-session (1.0.2)
160
+ rack (< 3)
161
+ >>>>>>> ee72532 (fix: Set message verifier serializer to Marshal)
162
+ rack-test (2.1.0)
163
+ rack (>= 1.3)
164
+ rackup (1.0.0)
165
+ rack (< 3)
166
+ webrick
167
+ rails (7.1.3.2)
168
+ actioncable (= 7.1.3.2)
169
+ actionmailbox (= 7.1.3.2)
170
+ actionmailer (= 7.1.3.2)
171
+ actionpack (= 7.1.3.2)
172
+ actiontext (= 7.1.3.2)
173
+ actionview (= 7.1.3.2)
174
+ activejob (= 7.1.3.2)
175
+ activemodel (= 7.1.3.2)
176
+ activerecord (= 7.1.3.2)
177
+ activestorage (= 7.1.3.2)
178
+ activesupport (= 7.1.3.2)
179
+ bundler (>= 1.15.0)
180
+ railties (= 7.1.3.2)
181
+ rails-dom-testing (2.2.0)
182
+ activesupport (>= 5.0.0)
183
+ minitest
184
+ nokogiri (>= 1.6)
185
+ rails-html-sanitizer (1.6.0)
186
+ loofah (~> 2.21)
187
+ nokogiri (~> 1.14)
188
+ railties (7.1.3.2)
189
+ actionpack (= 7.1.3.2)
190
+ activesupport (= 7.1.3.2)
191
+ irb
192
+ rackup (>= 1.0.0)
193
+ rake (>= 12.2)
194
+ thor (~> 1.0, >= 1.2.2)
195
+ zeitwerk (~> 2.6)
196
+ rainbow (3.1.1)
197
+ rake (13.1.0)
198
+ rdoc (6.6.2)
199
+ psych (>= 4.0.0)
200
+ regexp_parser (2.9.0)
201
+ reline (0.4.3)
202
+ io-console (~> 0.5)
203
+ rexml (3.2.6)
204
+ rubocop (1.60.2)
205
+ json (~> 2.3)
206
+ language_server-protocol (>= 3.17.0)
207
+ parallel (~> 1.10)
208
+ parser (>= 3.3.0.2)
209
+ rainbow (>= 2.2.2, < 4.0)
210
+ regexp_parser (>= 1.8, < 3.0)
211
+ rexml (>= 3.2.5, < 4.0)
212
+ rubocop-ast (>= 1.30.0, < 2.0)
213
+ ruby-progressbar (~> 1.7)
214
+ unicode-display_width (>= 2.4.0, < 3.0)
215
+ rubocop-ast (1.30.0)
216
+ parser (>= 3.2.1.0)
217
+ rubocop-performance (1.20.2)
218
+ rubocop (>= 1.48.1, < 2.0)
219
+ rubocop-ast (>= 1.30.0, < 2.0)
220
+ ruby-progressbar (1.13.0)
221
+ ruby2_keywords (0.0.5)
222
+ sqlite3 (1.7.2-arm64-darwin)
223
+ sqlite3 (1.7.2-x86_64-linux)
224
+ standard (1.34.0)
225
+ language_server-protocol (~> 3.17.0.2)
226
+ lint_roller (~> 1.0)
227
+ rubocop (~> 1.60)
228
+ standard-custom (~> 1.0.0)
229
+ standard-performance (~> 1.3)
230
+ standard-custom (1.0.2)
231
+ lint_roller (~> 1.0)
232
+ rubocop (~> 1.50)
233
+ standard-performance (1.3.1)
234
+ lint_roller (~> 1.1)
235
+ rubocop-performance (~> 1.20.2)
236
+ standardrb (1.0.1)
237
+ standard
238
+ stringio (3.1.0)
239
+ thor (1.3.1)
240
+ thread-local (1.1.0)
241
+ timeout (0.4.1)
242
+ tzinfo (2.0.6)
243
+ concurrent-ruby (~> 1.0)
244
+ unicode-display_width (2.5.0)
245
+ webrick (1.8.1)
246
+ websocket-driver (0.7.6)
247
+ websocket-extensions (>= 0.1.0)
248
+ websocket-extensions (0.1.5)
249
+ zeitwerk (2.6.13)
250
+
251
+ PLATFORMS
252
+ arm64-darwin-21
253
+ arm64-darwin-22
254
+ x86_64-linux
255
+
256
+ DEPENDENCIES
257
+ appraisal
258
+ bundler (~> 2.0)
259
+ debug (>= 1.0.0)
260
+ futurism!
261
+ nokogiri
262
+ rake (~> 13.0)
263
+ sqlite3
264
+ standardrb
265
+
266
+ BUNDLED WITH
267
+ 2.2.32
data/README.md CHANGED
@@ -25,6 +25,7 @@ Lazy-load Rails partials via CableReady
25
25
  - [Broadcast Partials Individually](#broadcast-partials-individually)
26
26
  - [Contextual Placeholder Arguments](#contextual-placeholder-arguments)
27
27
  - [Events](#events)
28
+ - [Instrumentation](#instrumentation)
28
29
  - [Installation](#installation)
29
30
  - [Manual Installation](#manual-installation)
30
31
  - [Authentication](#authentication)
@@ -228,6 +229,31 @@ For individual models or arbitrary collections, you can pass `record` and `index
228
229
 
229
230
  Once your futurize element has been rendered, the `futurism:appeared` custom event will be called.
230
231
 
232
+ ## Instrumentation
233
+
234
+ Futurism includes support for instrumenting rendering events.
235
+
236
+ To enable ActiveSupport notifications, use the `instrumentation` option:
237
+
238
+ ```ruby
239
+ Futurism.instrumentation = true
240
+ ```
241
+
242
+ Then subscribe to the `render.futurism` event:
243
+
244
+ ```ruby
245
+ ActiveSupport::Notifications.subscribe("render.futurism") do |*args|
246
+ event = ActiveSupport::Notifications::Event.new(*args)
247
+ event.name # => "render.futurism"
248
+ event.payload[:channel] # => "Futurism::Channel" # ActionCable channel to broadcast
249
+ event.payload[:controller] # => "posts" # The controller that invokes `futurize` call
250
+ event.payload[:action] # => "show" # The action that invokes `futurize` call
251
+ event.payload[:partial] # => "posts/card" # The partial that was rendered
252
+ end
253
+ ```
254
+
255
+ This is useful for performance monitoring, specifically for tracking the source of `futurize` calls.
256
+
231
257
  ## Installation
232
258
  Add this line to your application's Gemfile:
233
259