class Docx::DocumentReplacer
Attributes
doc[R]
observer[R]
Public Class Methods
new(str, data_provider, opts = {})
click to toggle source
# File lib/docx/document_replacer.rb, line 9 def initialize(str, data_provider, opts = {}) @doc = REXML::Document.new(str) @observer = Docx::PlaceholderObserver.new(data_provider) walk_node(doc.root) @observer.end_of_document convert_newlines if opts.fetch(:convert_newlines){ true } end
Public Instance Methods
replaced()
click to toggle source
# File lib/docx/document_replacer.rb, line 17 def replaced doc.to_s end
Private Instance Methods
convert_newlines()
click to toggle source
# File lib/docx/document_replacer.rb, line 34 def convert_newlines NewlineReplacer.new(doc).replace end
walk_node(node)
click to toggle source
# File lib/docx/document_replacer.rb, line 24 def walk_node(node) if node.is_a?(REXML::Element) node.children.each do |n| walk_node(n) end elsif node.is_a?(REXML::Text) observer.next_node(node) end end