Class: Coradoc::Docx::Transform::Rules::BreakRule

Inherits:
Coradoc::Docx::Transform::Rule show all
Defined in:
lib/coradoc/docx/transform/rules/break_rule.rb

Overview

Transforms w:br (Break) elements.

Page breaks become CoreModel::Block (page_break). Line breaks become CoreModel::InlineElement (hard_line_break).

Instance Method Summary collapse

Methods inherited from Coradoc::Docx::Transform::Rule

#priority

Instance Method Details

#apply(brk, _context) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/coradoc/docx/transform/rules/break_rule.rb', line 17

def apply(brk, _context)
  if brk.type == 'page'
    Coradoc::CoreModel::Block.new(element_type: 'page_break')
  else
    Coradoc::CoreModel::InlineElement.new(
      format_type: 'hard_line_break'
    )
  end
end

#matches?(element) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
# File 'lib/coradoc/docx/transform/rules/break_rule.rb', line 12

def matches?(element)
  defined?(Uniword::Wordprocessingml::Break) &&
    element.is_a?(Uniword::Wordprocessingml::Break)
end