eclair 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/eclair/element.rb +54 -0
- data/lib/eclair/html.rb +1311 -0
- data/lib/eclair.rb +83 -0
- metadata +65 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d0d70223543904e4ac86fd5f2d87e596d9f6530a461451e194fd8e225a4d0fd6
|
4
|
+
data.tar.gz: 9edb60270b4b79f4a620af39cacad513f022aebd2279dec1d95df3ac25f2a240
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1dcbf3e3a03407f07ba09a0aa3f0775c64356bd70ad713d47cc465ee58f8370a857ed0d11a01f9be9ef1f07231391d47dd165ddd51c6b8c309d6006f46240c6c
|
7
|
+
data.tar.gz: ba534c667f67d8cfaa81e24059f34ab8012dd771f7d31efab685174ba4aeddcc604435d298c88b2ca2fc70646000551fb8eb8244f21e59cf37b3a395a747b28b
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# typed: strong
|
2
|
+
require "sorbet-runtime"
|
3
|
+
|
4
|
+
module Eclair
|
5
|
+
class Element
|
6
|
+
extend T::Sig
|
7
|
+
extend T::Helpers
|
8
|
+
final!
|
9
|
+
|
10
|
+
class DangerousUnescapedHtml
|
11
|
+
extend T::Sig
|
12
|
+
extend T::Helpers
|
13
|
+
final!
|
14
|
+
|
15
|
+
sig(:final) { returns(String) }
|
16
|
+
attr_reader :html
|
17
|
+
|
18
|
+
sig(:final) do
|
19
|
+
params(html: String).void
|
20
|
+
end
|
21
|
+
def initialize(html:)
|
22
|
+
@html = html
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
module Void
|
27
|
+
extend T::Helpers
|
28
|
+
final!
|
29
|
+
end
|
30
|
+
|
31
|
+
AttributeValue = T.type_alias { T.any(T::Boolean, String) }
|
32
|
+
Attributes = T.type_alias { T::Hash[Symbol, AttributeValue] }
|
33
|
+
ElementChild = T.type_alias { T.any(Element, String, DangerousUnescapedHtml) }
|
34
|
+
Children = T.type_alias { T.any(T.class_of(Void), T::Array[ElementChild]) }
|
35
|
+
|
36
|
+
sig(:final) { returns(Symbol) }
|
37
|
+
attr_reader :tag
|
38
|
+
|
39
|
+
sig(:final) { returns(Attributes) }
|
40
|
+
attr_reader :attributes
|
41
|
+
|
42
|
+
sig(:final) { returns(Children) }
|
43
|
+
attr_reader :children
|
44
|
+
|
45
|
+
sig(:final) do
|
46
|
+
params(tag: Symbol, attributes: Attributes, children: Children).void
|
47
|
+
end
|
48
|
+
def initialize(tag:, attributes:, children:)
|
49
|
+
@tag = tag
|
50
|
+
@attributes = attributes
|
51
|
+
@children = children
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|