Class: Metanorma::Html::Component::Base
- Inherits:
-
Object
- Object
- Metanorma::Html::Component::Base
- Defined in:
- lib/metanorma/html/component/base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#renderer ⇒ Object
readonly
Returns the value of attribute renderer.
Class Method Summary collapse
- .css_dependencies ⇒ Object
- .handled_classes ⇒ Object
- .handles(*model_classes) ⇒ Object
- .js_dependencies ⇒ Object
- .register_in(registry) ⇒ Object
- .requires_css(*names) ⇒ Object
- .requires_js(*names) ⇒ Object
Instance Method Summary collapse
- #element_attrs ⇒ Object
- #escape_html ⇒ Object
- #extract_block_label(block, default) ⇒ Object
- #extract_plain_text(node) ⇒ Object
- #extract_text_value(val) ⇒ Object
-
#initialize(renderer) ⇒ Base
constructor
A new instance of Base.
- #output ⇒ Object
- #render(node, **opts) ⇒ Object
- #render_mixed_content_in_order ⇒ Object
- #render_mixed_inline ⇒ Object
- #safe_attr(obj, method_name) ⇒ Object
- #tag ⇒ Object
Constructor Details
#initialize(renderer) ⇒ Base
Returns a new instance of Base.
9 10 11 |
# File 'lib/metanorma/html/component/base.rb', line 9 def initialize(renderer) @renderer = renderer end |
Instance Attribute Details
#renderer ⇒ Object (readonly)
Returns the value of attribute renderer.
7 8 9 |
# File 'lib/metanorma/html/component/base.rb', line 7 def renderer @renderer end |
Class Method Details
.css_dependencies ⇒ Object
25 26 27 |
# File 'lib/metanorma/html/component/base.rb', line 25 def self.css_dependencies @css_deps || [] end |
.handled_classes ⇒ Object
17 18 19 |
# File 'lib/metanorma/html/component/base.rb', line 17 def self.handled_classes @handled_classes || [] end |
.handles(*model_classes) ⇒ Object
13 14 15 |
# File 'lib/metanorma/html/component/base.rb', line 13 def self.handles(*model_classes) @handled_classes = model_classes end |
.js_dependencies ⇒ Object
33 34 35 |
# File 'lib/metanorma/html/component/base.rb', line 33 def self.js_dependencies @js_deps || [] end |
.register_in(registry) ⇒ Object
55 56 57 58 59 |
# File 'lib/metanorma/html/component/base.rb', line 55 def self.register_in(registry) handled_classes.each do |klass| registry.register(klass, self) end end |
.requires_css(*names) ⇒ Object
21 22 23 |
# File 'lib/metanorma/html/component/base.rb', line 21 def self.requires_css(*names) @css_deps = names end |
.requires_js(*names) ⇒ Object
29 30 31 |
# File 'lib/metanorma/html/component/base.rb', line 29 def self.requires_js(*names) @js_deps = names end |
Instance Method Details
#element_attrs ⇒ Object
49 |
# File 'lib/metanorma/html/component/base.rb', line 49 def element_attrs(...) = renderer.element_attrs(...) |
#escape_html ⇒ Object
46 |
# File 'lib/metanorma/html/component/base.rb', line 46 def escape_html(...) = renderer.escape_html(...) |
#extract_block_label(block, default) ⇒ Object
53 |
# File 'lib/metanorma/html/component/base.rb', line 53 def extract_block_label(block, default) = renderer.extract_block_label(block, default) |
#extract_plain_text(node) ⇒ Object
51 |
# File 'lib/metanorma/html/component/base.rb', line 51 def extract_plain_text(node) = renderer.extract_plain_text(node) |
#extract_text_value(val) ⇒ Object
52 |
# File 'lib/metanorma/html/component/base.rb', line 52 def extract_text_value(val) = renderer.extract_text_value(val) |
#output ⇒ Object
41 42 43 |
# File 'lib/metanorma/html/component/base.rb', line 41 def output renderer.instance_variable_get(:@output) end |
#render(node, **opts) ⇒ Object
37 38 39 |
# File 'lib/metanorma/html/component/base.rb', line 37 def render(node, **opts) raise NotImplementedError, "#{self.class}#render not implemented" end |
#render_mixed_content_in_order ⇒ Object
48 |
# File 'lib/metanorma/html/component/base.rb', line 48 def render_mixed_content_in_order(...) = renderer.render_mixed_content_in_order(...) |
#render_mixed_inline ⇒ Object
47 |
# File 'lib/metanorma/html/component/base.rb', line 47 def render_mixed_inline(...) = renderer.render_mixed_inline(...) |
#safe_attr(obj, method_name) ⇒ Object
50 |
# File 'lib/metanorma/html/component/base.rb', line 50 def safe_attr(obj, method_name) = renderer.safe_attr(obj, method_name) |
#tag ⇒ Object
45 |
# File 'lib/metanorma/html/component/base.rb', line 45 def tag(...) = renderer.tag(...) |