Class: Metanorma::Html::Component::Base
- Inherits:
-
Object
- Object
- Metanorma::Html::Component::Base
show all
- Includes:
- RendererDelegation
- Defined in:
- lib/metanorma/html/component/base.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#escape_html, #extract_block_label, #extract_plain_text, #render_liquid, #render_mixed_inline, #safe_attr
Constructor Details
#initialize(renderer) ⇒ Base
Returns a new instance of Base.
11
12
13
|
# File 'lib/metanorma/html/component/base.rb', line 11
def initialize(renderer)
@renderer = renderer
end
|
Instance Attribute Details
#renderer ⇒ Object
Returns the value of attribute renderer.
9
10
11
|
# File 'lib/metanorma/html/component/base.rb', line 9
def renderer
@renderer
end
|
Class Method Details
.css_dependencies ⇒ Object
27
28
29
|
# File 'lib/metanorma/html/component/base.rb', line 27
def self.css_dependencies
@css_deps || []
end
|
.handled_classes ⇒ Object
19
20
21
|
# File 'lib/metanorma/html/component/base.rb', line 19
def self.handled_classes
@handled_classes || []
end
|
.handles(*model_classes) ⇒ Object
15
16
17
|
# File 'lib/metanorma/html/component/base.rb', line 15
def self.handles(*model_classes)
@handled_classes = model_classes
end
|
.js_dependencies ⇒ Object
35
36
37
|
# File 'lib/metanorma/html/component/base.rb', line 35
def self.js_dependencies
@js_deps || []
end
|
.register_in(registry) ⇒ Object
47
48
49
50
51
|
# File 'lib/metanorma/html/component/base.rb', line 47
def self.register_in(registry)
handled_classes.each do |klass|
registry.register(klass, self)
end
end
|
.requires_css(*names) ⇒ Object
23
24
25
|
# File 'lib/metanorma/html/component/base.rb', line 23
def self.requires_css(*names)
@css_deps = names
end
|
.requires_js(*names) ⇒ Object
31
32
33
|
# File 'lib/metanorma/html/component/base.rb', line 31
def self.requires_js(*names)
@js_deps = names
end
|
Instance Method Details
#element_attrs ⇒ Object
44
|
# File 'lib/metanorma/html/component/base.rb', line 44
def element_attrs(...) = renderer.element_attrs(...)
|
45
|
# File 'lib/metanorma/html/component/base.rb', line 45
def (val) = renderer.(val)
|
#render(node, **opts) ⇒ Object
39
40
41
|
# File 'lib/metanorma/html/component/base.rb', line 39
def render(node, **opts)
raise NotImplementedError, "#{self.class}#render not implemented"
end
|
#render_mixed_content_in_order ⇒ Object
43
|
# File 'lib/metanorma/html/component/base.rb', line 43
def render_mixed_content_in_order(...) = renderer.render_mixed_content_in_order(...)
|