class DocTemplate::Tags::CalloutTag
Constants
- TAG_NAME
- TEMPLATES
Public Instance Methods
parse_table(table)
click to toggle source
# File lib/doc_template/tags/callout_tag.rb, line 12 def parse_table(table) header, content = fetch_content(table) params = { content: content, header: header, subject: @opts[:metadata].resource_subject } new_content = parse_template params, template_name(@opts) @opts[:parent_node] = new_content parsed_content = parse_nested new_content, @opts # Place placeholder where it should be before_tag(previous_non_empty(table) || table) # returns the generated content to be stored as part @content = parsed_content table.remove end
Private Instance Methods
fetch_content(node)
click to toggle source
# File lib/doc_template/tags/callout_tag.rb, line 34 def fetch_content(node) [node.at_xpath('.//tr[2]/td').try(:content) || '', node.at_xpath('.//tr[3]/td').try(:inner_html) || ''] end
previous_non_empty(node)
click to toggle source
# File lib/doc_template/tags/callout_tag.rb, line 39 def previous_non_empty(node) while (node = node.previous_sibling) break unless node.content.squish.blank? end node end