class Sablon::Parser::MailMerge::SimpleField
Public Class Methods
new(node)
click to toggle source
Calls superclass method
Sablon::Parser::MailMerge::MergeField::new
# File lib/sablon/parser/mail_merge.rb, line 94 def initialize(node) super() @node = node @raw_expression = @node["w:instr"] end
Public Instance Methods
ancestors(*args)
click to toggle source
# File lib/sablon/parser/mail_merge.rb, line 116 def ancestors(*args) @node.ancestors(*args) end
remove()
click to toggle source
removes only the merge field in question
# File lib/sablon/parser/mail_merge.rb, line 107 def remove remove_or_decrement_ref(@node) end
remove_parent(selector)
click to toggle source
removes the parent node containing the merge field
# File lib/sablon/parser/mail_merge.rb, line 112 def remove_parent(selector) remove_or_decrement_ref(@node.ancestors(selector).first) end
replace(content, env)
click to toggle source
# File lib/sablon/parser/mail_merge.rb, line 100 def replace(content, env) remove_extra_runs! replace_field_display(@node, content, env) @node.replace(@node.children) end
start_node()
click to toggle source
# File lib/sablon/parser/mail_merge.rb, line 120 def start_node @node end
Also aliased as: end_node
Private Instance Methods
remove_extra_runs!()
click to toggle source
# File lib/sablon/parser/mail_merge.rb, line 127 def remove_extra_runs! @node.search(".//w:r")[1..-1].each(&:remove) end