phlex 1.9.2 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of phlex might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.rubocop.yml +12 -0
- data/.ruby-version +1 -1
- data/.solargraph.yml +11 -0
- data/CHANGELOG.md +16 -1
- data/Gemfile +12 -8
- data/README.md +3 -1
- data/SECURITY.md +7 -6
- data/config/sus.rb +0 -2
- data/fixtures/components/say_hi.rb +15 -0
- data/fixtures/components.rb +7 -0
- data/fixtures/layout.rb +1 -1
- data/fixtures/page.rb +19 -17
- data/gd/phlex/sgml/attributes.rb +30 -2
- data/lib/phlex/black_hole.rb +1 -1
- data/lib/phlex/context.rb +45 -8
- data/lib/phlex/csv.rb +133 -0
- data/lib/phlex/deferred_render.rb +1 -1
- data/lib/phlex/elements.rb +72 -19
- data/lib/phlex/helpers.rb +21 -5
- data/lib/phlex/html/standard_elements.rb +138 -96
- data/lib/phlex/html/void_elements.rb +17 -17
- data/lib/phlex/html.rb +16 -2
- data/lib/phlex/kit.rb +62 -0
- data/lib/phlex/sgml.rb +108 -60
- data/lib/phlex/svg/standard_elements.rb +64 -64
- data/lib/phlex/svg.rb +10 -0
- data/lib/phlex/version.rb +1 -1
- data/lib/phlex.rb +34 -12
- metadata +8 -46
- data/lib/phlex/overrides/symbol/name.rb +0 -6
@@ -8,446 +8,446 @@ module Phlex::SVG::StandardElements
|
|
8
8
|
# @return [nil]
|
9
9
|
# @yieldparam component [self]
|
10
10
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/a
|
11
|
-
register_element :a
|
11
|
+
register_element :a
|
12
12
|
|
13
13
|
# @!method animate(**attributes, &content)
|
14
14
|
# Outputs an `<animate>` tag.
|
15
15
|
# @return [nil]
|
16
16
|
# @yieldparam component [self]
|
17
17
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/animate
|
18
|
-
register_element :animate
|
18
|
+
register_element :animate
|
19
19
|
|
20
20
|
# @!method animateMotion(**attributes, &content)
|
21
21
|
# Outputs an `<animateMotion>` tag.
|
22
22
|
# @return [nil]
|
23
23
|
# @yieldparam component [self]
|
24
24
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/animateMotion
|
25
|
-
register_element :animateMotion
|
25
|
+
register_element :animateMotion
|
26
26
|
|
27
27
|
# @!method animateTransform(**attributes, &content)
|
28
28
|
# Outputs an `<animateTransform>` tag.
|
29
29
|
# @return [nil]
|
30
30
|
# @yieldparam component [self]
|
31
31
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/animateTransform
|
32
|
-
register_element :animateTransform
|
32
|
+
register_element :animateTransform
|
33
33
|
|
34
34
|
# @!method circle(**attributes, &content)
|
35
35
|
# Outputs a `<circle>` tag.
|
36
36
|
# @return [nil]
|
37
37
|
# @yieldparam component [self]
|
38
38
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/circle
|
39
|
-
register_element :circle
|
39
|
+
register_element :circle
|
40
40
|
|
41
41
|
# @!method clipPath(**attributes, &content)
|
42
42
|
# Outputs a `<clipPath>` tag.
|
43
43
|
# @return [nil]
|
44
44
|
# @yieldparam component [self]
|
45
45
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/clipPath
|
46
|
-
register_element :clipPath
|
46
|
+
register_element :clipPath
|
47
47
|
|
48
48
|
# @!method defs(**attributes, &content)
|
49
49
|
# Outputs a `<defs>` tag.
|
50
50
|
# @return [nil]
|
51
51
|
# @yieldparam component [self]
|
52
52
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/defs
|
53
|
-
register_element :defs
|
53
|
+
register_element :defs
|
54
54
|
|
55
55
|
# @!method desc(**attributes, &content)
|
56
56
|
# Outputs a `<desc>` tag.
|
57
57
|
# @return [nil]
|
58
58
|
# @yieldparam component [self]
|
59
59
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/desc
|
60
|
-
register_element :desc
|
60
|
+
register_element :desc
|
61
61
|
|
62
62
|
# @!method discard(**attributes, &content)
|
63
63
|
# Outputs a `<discard>` tag.
|
64
64
|
# @return [nil]
|
65
65
|
# @yieldparam component [self]
|
66
66
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/discard
|
67
|
-
register_element :discard
|
67
|
+
register_element :discard
|
68
68
|
|
69
69
|
# @!method ellipse(**attributes, &content)
|
70
70
|
# Outputs an `<ellipse>` tag.
|
71
71
|
# @return [nil]
|
72
72
|
# @yieldparam component [self]
|
73
73
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/ellipse
|
74
|
-
register_element :ellipse
|
74
|
+
register_element :ellipse
|
75
75
|
|
76
76
|
# @!method feBlend(**attributes, &content)
|
77
77
|
# Outputs an `<feBlend>` tag.
|
78
78
|
# @return [nil]
|
79
79
|
# @yieldparam component [self]
|
80
80
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feBlend
|
81
|
-
register_element :feBlend
|
81
|
+
register_element :feBlend
|
82
82
|
|
83
83
|
# @!method feColorMatrix(**attributes, &content)
|
84
84
|
# Outputs an `<feColorMatrix>` tag.
|
85
85
|
# @return [nil]
|
86
86
|
# @yieldparam component [self]
|
87
87
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feColorMatrix
|
88
|
-
register_element :feColorMatrix
|
88
|
+
register_element :feColorMatrix
|
89
89
|
|
90
90
|
# @!method feComponentTransfer(**attributes, &content)
|
91
91
|
# Outputs an `<feComponentTransfer>` tag.
|
92
92
|
# @return [nil]
|
93
93
|
# @yieldparam component [self]
|
94
94
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feComponentTransfer
|
95
|
-
register_element :feComponentTransfer
|
95
|
+
register_element :feComponentTransfer
|
96
96
|
|
97
97
|
# @!method feComposite(**attributes, &content)
|
98
98
|
# Outputs an `<feComposite>` tag.
|
99
99
|
# @return [nil]
|
100
100
|
# @yieldparam component [self]
|
101
101
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feComposite
|
102
|
-
register_element :feComposite
|
102
|
+
register_element :feComposite
|
103
103
|
|
104
104
|
# @!method feConvolveMatrix(**attributes, &content)
|
105
105
|
# Outputs an `<feConvolveMatrix>` tag.
|
106
106
|
# @return [nil]
|
107
107
|
# @yieldparam component [self]
|
108
108
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feConvolveMatrix
|
109
|
-
register_element :feConvolveMatrix
|
109
|
+
register_element :feConvolveMatrix
|
110
110
|
|
111
111
|
# @!method feDiffuseLighting(**attributes, &content)
|
112
112
|
# Outputs an `<feDiffuseLighting>` tag.
|
113
113
|
# @return [nil]
|
114
114
|
# @yieldparam component [self]
|
115
115
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feDiffuseLighting
|
116
|
-
register_element :feDiffuseLighting
|
116
|
+
register_element :feDiffuseLighting
|
117
117
|
|
118
118
|
# @!method feDisplacementMap(**attributes, &content)
|
119
119
|
# Outputs an `<feDisplacementMap>` tag.
|
120
120
|
# @return [nil]
|
121
121
|
# @yieldparam component [self]
|
122
122
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feDisplacementMap
|
123
|
-
register_element :feDisplacementMap
|
123
|
+
register_element :feDisplacementMap
|
124
124
|
|
125
125
|
# @!method feDistantLight(**attributes, &content)
|
126
126
|
# Outputs an `<feDistantLight>` tag.
|
127
127
|
# @return [nil]
|
128
128
|
# @yieldparam component [self]
|
129
129
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feDistantLight
|
130
|
-
register_element :feDistantLight
|
130
|
+
register_element :feDistantLight
|
131
131
|
|
132
132
|
# @!method feDropShadow(**attributes, &content)
|
133
133
|
# Outputs an `<feDropShadow>` tag.
|
134
134
|
# @return [nil]
|
135
135
|
# @yieldparam component [self]
|
136
136
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feDropShadow
|
137
|
-
register_element :feDropShadow
|
137
|
+
register_element :feDropShadow
|
138
138
|
|
139
139
|
# @!method feFlood(**attributes, &content)
|
140
140
|
# Outputs an `<feFlood>` tag.
|
141
141
|
# @return [nil]
|
142
142
|
# @yieldparam component [self]
|
143
143
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feFlood
|
144
|
-
register_element :feFlood
|
144
|
+
register_element :feFlood
|
145
145
|
|
146
146
|
# @!method feFuncA(**attributes, &content)
|
147
147
|
# Outputs an `<feFuncA>` tag.
|
148
148
|
# @return [nil]
|
149
149
|
# @yieldparam component [self]
|
150
150
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feFuncA
|
151
|
-
register_element :feFuncA
|
151
|
+
register_element :feFuncA
|
152
152
|
|
153
153
|
# @!method feFuncB(**attributes, &content)
|
154
154
|
# Outputs an `<feFuncB>` tag.
|
155
155
|
# @return [nil]
|
156
156
|
# @yieldparam component [self]
|
157
157
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feFuncB
|
158
|
-
register_element :feFuncB
|
158
|
+
register_element :feFuncB
|
159
159
|
|
160
160
|
# @!method feFuncG(**attributes, &content)
|
161
161
|
# Outputs an `<feFuncG>` tag.
|
162
162
|
# @return [nil]
|
163
163
|
# @yieldparam component [self]
|
164
164
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feFuncG
|
165
|
-
register_element :feFuncG
|
165
|
+
register_element :feFuncG
|
166
166
|
|
167
167
|
# @!method feFuncR(**attributes, &content)
|
168
168
|
# Outputs an `<feFuncR>` tag.
|
169
169
|
# @return [nil]
|
170
170
|
# @yieldparam component [self]
|
171
171
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feFuncR
|
172
|
-
register_element :feFuncR
|
172
|
+
register_element :feFuncR
|
173
173
|
|
174
174
|
# @!method feGaussianBlur(**attributes, &content)
|
175
175
|
# Outputs an `<feGaussianBlur>` tag.
|
176
176
|
# @return [nil]
|
177
177
|
# @yieldparam component [self]
|
178
178
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feGaussianBlur
|
179
|
-
register_element :feGaussianBlur
|
179
|
+
register_element :feGaussianBlur
|
180
180
|
|
181
181
|
# @!method feImage(**attributes, &content)
|
182
182
|
# Outputs an `<feImage>` tag.
|
183
183
|
# @return [nil]
|
184
184
|
# @yieldparam component [self]
|
185
185
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feImage
|
186
|
-
register_element :feImage
|
186
|
+
register_element :feImage
|
187
187
|
|
188
188
|
# @!method feMerge(**attributes, &content)
|
189
189
|
# Outputs an `<feMerge>` tag.
|
190
190
|
# @return [nil]
|
191
191
|
# @yieldparam component [self]
|
192
192
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feMerge
|
193
|
-
register_element :feMerge
|
193
|
+
register_element :feMerge
|
194
194
|
|
195
195
|
# @!method feMergeNode(**attributes, &content)
|
196
196
|
# Outputs an `<feMergeNode>` tag.
|
197
197
|
# @return [nil]
|
198
198
|
# @yieldparam component [self]
|
199
199
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feMergeNode
|
200
|
-
register_element :feMergeNode
|
200
|
+
register_element :feMergeNode
|
201
201
|
|
202
202
|
# @!method feMorphology(**attributes, &content)
|
203
203
|
# Outputs an `<feMorphology>` tag.
|
204
204
|
# @return [nil]
|
205
205
|
# @yieldparam component [self]
|
206
206
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feMorphology
|
207
|
-
register_element :feMorphology
|
207
|
+
register_element :feMorphology
|
208
208
|
|
209
209
|
# @!method feOffset(**attributes, &content)
|
210
210
|
# Outputs an `<feOffset>` tag.
|
211
211
|
# @return [nil]
|
212
212
|
# @yieldparam component [self]
|
213
213
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feOffset
|
214
|
-
register_element :feOffset
|
214
|
+
register_element :feOffset
|
215
215
|
|
216
216
|
# @!method fePointLight(**attributes, &content)
|
217
217
|
# Outputs an `<fePointLight>` tag.
|
218
218
|
# @return [nil]
|
219
219
|
# @yieldparam component [self]
|
220
220
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/fePointLight
|
221
|
-
register_element :fePointLight
|
221
|
+
register_element :fePointLight
|
222
222
|
|
223
223
|
# @!method feSpecularLighting(**attributes, &content)
|
224
224
|
# Outputs an `<feSpecularLighting>` tag.
|
225
225
|
# @return [nil]
|
226
226
|
# @yieldparam component [self]
|
227
227
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feSpecularLighting
|
228
|
-
register_element :feSpecularLighting
|
228
|
+
register_element :feSpecularLighting
|
229
229
|
|
230
230
|
# @!method feSpotLight(**attributes, &content)
|
231
231
|
# Outputs an `<feSpotLight>` tag.
|
232
232
|
# @return [nil]
|
233
233
|
# @yieldparam component [self]
|
234
234
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feSpotLight
|
235
|
-
register_element :feSpotLight
|
235
|
+
register_element :feSpotLight
|
236
236
|
|
237
237
|
# @!method feTile(**attributes, &content)
|
238
238
|
# Outputs an `<feTile>` tag.
|
239
239
|
# @return [nil]
|
240
240
|
# @yieldparam component [self]
|
241
241
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feTile
|
242
|
-
register_element :feTile
|
242
|
+
register_element :feTile
|
243
243
|
|
244
244
|
# @!method feTurbulence(**attributes, &content)
|
245
245
|
# Outputs an `<feTurbulence>` tag.
|
246
246
|
# @return [nil]
|
247
247
|
# @yieldparam component [self]
|
248
248
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/feTurbulence
|
249
|
-
register_element :feTurbulence
|
249
|
+
register_element :feTurbulence
|
250
250
|
|
251
251
|
# @!method filter(**attributes, &content)
|
252
252
|
# Outputs a `<filter>` tag.
|
253
253
|
# @return [nil]
|
254
254
|
# @yieldparam component [self]
|
255
255
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/filter
|
256
|
-
register_element :filter
|
256
|
+
register_element :filter
|
257
257
|
|
258
258
|
# @!method foreignObject(**attributes, &content)
|
259
259
|
# Outputs a `<foreignObject>` tag.
|
260
260
|
# @return [nil]
|
261
261
|
# @yieldparam component [self]
|
262
262
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/foreignObject
|
263
|
-
register_element :foreignObject
|
263
|
+
register_element :foreignObject
|
264
264
|
|
265
265
|
# @!method g(**attributes, &content)
|
266
266
|
# Outputs a `<g>` tag.
|
267
267
|
# @return [nil]
|
268
268
|
# @yieldparam component [self]
|
269
269
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/g
|
270
|
-
register_element :g
|
270
|
+
register_element :g
|
271
271
|
|
272
272
|
# @!method image(**attributes, &content)
|
273
273
|
# Outputs an `<image>` tag.
|
274
274
|
# @return [nil]
|
275
275
|
# @yieldparam component [self]
|
276
276
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/image
|
277
|
-
register_element :image
|
277
|
+
register_element :image
|
278
278
|
|
279
279
|
# @!method line(**attributes, &content)
|
280
280
|
# Outputs a `<line>` tag.
|
281
281
|
# @return [nil]
|
282
282
|
# @yieldparam component [self]
|
283
283
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/line
|
284
|
-
register_element :line
|
284
|
+
register_element :line
|
285
285
|
|
286
286
|
# @!method linearGradient(**attributes, &content)
|
287
287
|
# Outputs a `<linearGradient>` tag.
|
288
288
|
# @return [nil]
|
289
289
|
# @yieldparam component [self]
|
290
290
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/linearGradient
|
291
|
-
register_element :linearGradient
|
291
|
+
register_element :linearGradient
|
292
292
|
|
293
293
|
# @!method marker(**attributes, &content)
|
294
294
|
# Outputs a `<marker>` tag.
|
295
295
|
# @return [nil]
|
296
296
|
# @yieldparam component [self]
|
297
297
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/marker
|
298
|
-
register_element :marker
|
298
|
+
register_element :marker
|
299
299
|
|
300
300
|
# @!method mask(**attributes, &content)
|
301
301
|
# Outputs a `<mask>` tag.
|
302
302
|
# @return [nil]
|
303
303
|
# @yieldparam component [self]
|
304
304
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/mask
|
305
|
-
register_element :mask
|
305
|
+
register_element :mask
|
306
306
|
|
307
307
|
# @!method metadata(**attributes, &content)
|
308
308
|
# Outputs a `<metadata>` tag.
|
309
309
|
# @return [nil]
|
310
310
|
# @yieldparam component [self]
|
311
311
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/metadata
|
312
|
-
register_element :metadata
|
312
|
+
register_element :metadata
|
313
313
|
|
314
314
|
# @!method mpath(**attributes, &content)
|
315
315
|
# Outputs an `<mpath>` tag.
|
316
316
|
# @return [nil]
|
317
317
|
# @yieldparam component [self]
|
318
318
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/mpath
|
319
|
-
register_element :mpath
|
319
|
+
register_element :mpath
|
320
320
|
|
321
321
|
# @!method path(**attributes, &content)
|
322
322
|
# Outputs a `<path>` tag.
|
323
323
|
# @return [nil]
|
324
324
|
# @yieldparam component [self]
|
325
325
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/path
|
326
|
-
register_element :path
|
326
|
+
register_element :path
|
327
327
|
|
328
328
|
# @!method pattern(**attributes, &content)
|
329
329
|
# Outputs a `<pattern>` tag.
|
330
330
|
# @return [nil]
|
331
331
|
# @yieldparam component [self]
|
332
332
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/pattern
|
333
|
-
register_element :pattern
|
333
|
+
register_element :pattern
|
334
334
|
|
335
335
|
# @!method polygon(**attributes, &content)
|
336
336
|
# Outputs a `<polygon>` tag.
|
337
337
|
# @return [nil]
|
338
338
|
# @yieldparam component [self]
|
339
339
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/polygon
|
340
|
-
register_element :polygon
|
340
|
+
register_element :polygon
|
341
341
|
|
342
342
|
# @!method polyline(**attributes, &content)
|
343
343
|
# Outputs a `<polyline>` tag.
|
344
344
|
# @return [nil]
|
345
345
|
# @yieldparam component [self]
|
346
346
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/polyline
|
347
|
-
register_element :polyline
|
347
|
+
register_element :polyline
|
348
348
|
|
349
349
|
# @!method radialGradient(**attributes, &content)
|
350
350
|
# Outputs a `<radialGradient>` tag.
|
351
351
|
# @return [nil]
|
352
352
|
# @yieldparam component [self]
|
353
353
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/radialGradient
|
354
|
-
register_element :radialGradient
|
354
|
+
register_element :radialGradient
|
355
355
|
|
356
356
|
# @!method rect(**attributes, &content)
|
357
357
|
# Outputs a `<rect>` tag.
|
358
358
|
# @return [nil]
|
359
359
|
# @yieldparam component [self]
|
360
360
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/rect
|
361
|
-
register_element :rect
|
361
|
+
register_element :rect
|
362
362
|
|
363
363
|
# @!method script(**attributes, &content)
|
364
364
|
# Outputs a `<script>` tag.
|
365
365
|
# @return [nil]
|
366
366
|
# @yieldparam component [self]
|
367
367
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/script
|
368
|
-
register_element :script
|
368
|
+
register_element :script
|
369
369
|
|
370
370
|
# @!method set(**attributes, &content)
|
371
371
|
# Outputs a `<set>` tag.
|
372
372
|
# @return [nil]
|
373
373
|
# @yieldparam component [self]
|
374
374
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/set
|
375
|
-
register_element :set
|
375
|
+
register_element :set
|
376
376
|
|
377
377
|
# @!method stop(**attributes, &content)
|
378
378
|
# Outputs a `<stop>` tag.
|
379
379
|
# @return [nil]
|
380
380
|
# @yieldparam component [self]
|
381
381
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/stop
|
382
|
-
register_element :stop
|
382
|
+
register_element :stop
|
383
383
|
|
384
384
|
# @!method style(**attributes, &content)
|
385
385
|
# Outputs a `<style>` tag.
|
386
386
|
# @return [nil]
|
387
387
|
# @yieldparam component [self]
|
388
388
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/style
|
389
|
-
register_element :style
|
389
|
+
register_element :style
|
390
390
|
|
391
391
|
# @!method svg(**attributes, &content)
|
392
392
|
# Outputs an `<svg>` tag.
|
393
393
|
# @return [nil]
|
394
394
|
# @yieldparam component [self]
|
395
395
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/svg
|
396
|
-
register_element :svg
|
396
|
+
register_element :svg
|
397
397
|
|
398
398
|
# @!method switch(**attributes, &content)
|
399
399
|
# Outputs a `<switch>` tag.
|
400
400
|
# @return [nil]
|
401
401
|
# @yieldparam component [self]
|
402
402
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/switch
|
403
|
-
register_element :switch
|
403
|
+
register_element :switch
|
404
404
|
|
405
405
|
# @!method symbol(**attributes, &content)
|
406
406
|
# Outputs a `<symbol>` tag.
|
407
407
|
# @return [nil]
|
408
408
|
# @yieldparam component [self]
|
409
409
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/symbol
|
410
|
-
register_element :symbol
|
410
|
+
register_element :symbol
|
411
411
|
|
412
412
|
# @!method text(**attributes, &content)
|
413
413
|
# Outputs a `<text>` tag.
|
414
414
|
# @return [nil]
|
415
415
|
# @yieldparam component [self]
|
416
416
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/text
|
417
|
-
register_element :text
|
417
|
+
register_element :text
|
418
418
|
|
419
419
|
# @!method textPath(**attributes, &content)
|
420
420
|
# Outputs a `<textPath>` tag.
|
421
421
|
# @return [nil]
|
422
422
|
# @yieldparam component [self]
|
423
423
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/textPath
|
424
|
-
register_element :textPath
|
424
|
+
register_element :textPath
|
425
425
|
|
426
426
|
# @!method title(**attributes, &content)
|
427
427
|
# Outputs a `<title>` tag.
|
428
428
|
# @return [nil]
|
429
429
|
# @yieldparam component [self]
|
430
430
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/title
|
431
|
-
register_element :title
|
431
|
+
register_element :title
|
432
432
|
|
433
433
|
# @!method tspan(**attributes, &content)
|
434
434
|
# Outputs a `<tspan>` tag.
|
435
435
|
# @return [nil]
|
436
436
|
# @yieldparam component [self]
|
437
437
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/tspan
|
438
|
-
register_element :tspan
|
438
|
+
register_element :tspan
|
439
439
|
|
440
440
|
# @!method use(**attributes, &content)
|
441
441
|
# Outputs a `<use>` tag.
|
442
442
|
# @return [nil]
|
443
443
|
# @yieldparam component [self]
|
444
444
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/use
|
445
|
-
register_element :use
|
445
|
+
register_element :use
|
446
446
|
|
447
447
|
# @!method view(**attributes, &content)
|
448
448
|
# Outputs a `<view>` tag.
|
449
449
|
# @return [nil]
|
450
450
|
# @yieldparam component [self]
|
451
451
|
# @see https://developer.mozilla.org/docs/Web/SVG/Element/view
|
452
|
-
register_element :view
|
452
|
+
register_element :view
|
453
453
|
end
|
data/lib/phlex/svg.rb
CHANGED
@@ -2,9 +2,19 @@
|
|
2
2
|
|
3
3
|
module Phlex
|
4
4
|
class SVG < SGML
|
5
|
+
autoload :StandardElements, "phlex/svg/standard_elements"
|
6
|
+
|
5
7
|
include StandardElements
|
6
8
|
|
7
9
|
# This should be extended after all method definitions
|
8
10
|
extend ElementClobberingGuard
|
11
|
+
|
12
|
+
def content_type
|
13
|
+
"image/svg+xml"
|
14
|
+
end
|
15
|
+
|
16
|
+
def filename
|
17
|
+
nil
|
18
|
+
end
|
9
19
|
end
|
10
20
|
end
|
data/lib/phlex/version.rb
CHANGED
data/lib/phlex.rb
CHANGED
@@ -1,15 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "erb"
|
4
|
-
require "zeitwerk"
|
5
|
-
require "concurrent"
|
6
4
|
|
7
5
|
module Phlex
|
6
|
+
autoload :Context, "phlex/context"
|
7
|
+
autoload :DeferredRender, "phlex/deferred_render"
|
8
|
+
autoload :ElementClobberingGuard, "phlex/element_clobbering_guard"
|
9
|
+
autoload :Elements, "phlex/elements"
|
10
|
+
autoload :HTML, "phlex/html"
|
11
|
+
autoload :Helpers, "phlex/helpers"
|
12
|
+
autoload :SGML, "phlex/sgml"
|
13
|
+
autoload :SVG, "phlex/svg"
|
14
|
+
autoload :Unbuffered, "phlex/unbuffered"
|
15
|
+
autoload :ConcurrentMap, "phlex/concurrent_map"
|
16
|
+
autoload :BlackHole, "phlex/black_hole"
|
17
|
+
autoload :CSV, "phlex/csv"
|
18
|
+
autoload :Callable, "phlex/callable"
|
19
|
+
autoload :Kit, "phlex/kit"
|
20
|
+
|
8
21
|
# Included in all Phlex exceptions allowing you to match any Phlex error.
|
9
22
|
# @example Rescue any Phlex error:
|
10
23
|
# rescue Phlex::Error
|
11
24
|
module Error; end
|
12
25
|
|
26
|
+
if defined?(ERB::Escape)
|
27
|
+
Escape = ERB::Escape
|
28
|
+
else
|
29
|
+
Escape = ERB::Util
|
30
|
+
end
|
31
|
+
|
13
32
|
# A specialised ArgumentError for Phlex.
|
14
33
|
class ArgumentError < ::ArgumentError
|
15
34
|
include Error
|
@@ -21,16 +40,19 @@ module Phlex
|
|
21
40
|
end
|
22
41
|
|
23
42
|
# @api private
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
43
|
+
ATTRIBUTE_CACHE = {}
|
44
|
+
|
45
|
+
SUPPORTS_FIBER_STORAGE = Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.2")
|
46
|
+
end
|
47
|
+
|
48
|
+
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.0")
|
49
|
+
class Symbol
|
50
|
+
def name
|
51
|
+
to_s
|
52
|
+
end
|
32
53
|
end
|
54
|
+
end
|
33
55
|
|
34
|
-
|
35
|
-
|
56
|
+
def 💪
|
57
|
+
Phlex
|
36
58
|
end
|