Class: Coradoc::CoreModel::DefinitionItem

Inherits:
Base
  • Object
show all
Defined in:
lib/coradoc/core_model/definition_item.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#element_attributes, #id, #metadata_entries, #title

Instance Method Summary collapse

Methods inherited from Base

#accept, #attr, #body_content?, build, #flat_text, #metadata, #prose?, #semantically_equivalent?, #set_attr, #set_metadata, #whitespace_only?

Constructor Details

#initialize(args = {}) ⇒ DefinitionItem

Returns a new instance of DefinitionItem.



28
29
30
31
32
33
34
35
# File 'lib/coradoc/core_model/definition_item.rb', line 28

def initialize(args = {})
  @term_children = args.delete(:term_children) || []
  @definition_children = args.delete(:definition_children) || []
  super
  # Backward-compat: if caller passed only `term:` (no `terms:`),
  # seed the collection so #terms is always consistent with #term.
  self.terms = [term].compact if terms.empty? && !term.to_s.empty?
end

Instance Attribute Details

#definition_childrenObject

Returns the value of attribute definition_children.



37
38
39
# File 'lib/coradoc/core_model/definition_item.rb', line 37

def definition_children
  @definition_children
end

#term_childrenObject

Returns the value of attribute term_children.



37
38
39
# File 'lib/coradoc/core_model/definition_item.rb', line 37

def term_children
  @term_children
end

Instance Method Details

#definition_renderableObject



54
55
56
57
58
59
# File 'lib/coradoc/core_model/definition_item.rb', line 54

def definition_renderable
  return definitions if definition_children.nil? || definition_children.none?
  return definitions if definition_children.all?(String)

  definition_children
end

#term_renderableObject



47
48
49
50
51
52
# File 'lib/coradoc/core_model/definition_item.rb', line 47

def term_renderable
  return term if term_children.nil? || term_children.none?
  return term if term && term_children.all?(String)

  term_children
end