Class: Metanorma::Html::Component::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/metanorma/html/component/base.rb

Direct Known Subclasses

IndexSection

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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

#rendererObject (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_dependenciesObject



25
26
27
# File 'lib/metanorma/html/component/base.rb', line 25

def self.css_dependencies
  @css_deps || []
end

.handled_classesObject



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_dependenciesObject



33
34
35
# File 'lib/metanorma/html/component/base.rb', line 33

def self.js_dependencies
  @js_deps || []
end

.register_in(registry) ⇒ Object



54
55
56
57
58
# File 'lib/metanorma/html/component/base.rb', line 54

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_attrsObject



44
# File 'lib/metanorma/html/component/base.rb', line 44

def element_attrs(...) = renderer.element_attrs(...)

#escape_htmlObject



41
# File 'lib/metanorma/html/component/base.rb', line 41

def escape_html(...) = renderer.escape_html(...)

#extract_block_label(block, default) ⇒ Object



50
51
52
# File 'lib/metanorma/html/component/base.rb', line 50

def extract_block_label(block, default)
  renderer.extract_block_label(block, default)
end

#extract_plain_text(node) ⇒ Object



46
# File 'lib/metanorma/html/component/base.rb', line 46

def extract_plain_text(node) = renderer.extract_plain_text(node)

#extract_text_value(val) ⇒ Object



47
# File 'lib/metanorma/html/component/base.rb', line 47

def extract_text_value(val) = renderer.extract_text_value(val)

#render(node, **opts) ⇒ Object

Raises:

  • (NotImplementedError)


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_liquidObject



48
# File 'lib/metanorma/html/component/base.rb', line 48

def render_liquid(...) = renderer.render_liquid(...)

#render_mixed_content_in_orderObject



43
# File 'lib/metanorma/html/component/base.rb', line 43

def render_mixed_content_in_order(...) = renderer.render_mixed_content_in_order(...)

#render_mixed_inlineObject



42
# File 'lib/metanorma/html/component/base.rb', line 42

def render_mixed_inline(...) = renderer.render_mixed_inline(...)

#safe_attr(obj, method_name) ⇒ Object



45
# File 'lib/metanorma/html/component/base.rb', line 45

def safe_attr(obj, method_name) = renderer.safe_attr(obj, method_name)