module Dustbag::Parser::Node

Attributes

node[R]
subnodes[R]

Public Class Methods

included(base) click to toggle source
# File lib/dustbag/parser/node.rb, line 9
def self.included(base)
  base.extend(ClassMethods)
end
new(node) click to toggle source
# File lib/dustbag/parser/node.rb, line 13
def initialize(node)
  @node     = node
  @subnodes = {}
end

Public Instance Methods

repeated_subnodes(subnode_name) click to toggle source
# File lib/dustbag/parser/node.rb, line 27
def repeated_subnodes(subnode_name)
  subnodes[subnode_name] ||= node.locate(subnode_name)
end
repeated_subnodes_text(subnode_name) click to toggle source
# File lib/dustbag/parser/node.rb, line 31
def repeated_subnodes_text(subnode_name)
  repeated_subnodes(subnode_name).map(&:text)
end
subnode(subnode_name) click to toggle source
# File lib/dustbag/parser/node.rb, line 23
def subnode(subnode_name)
  subnodes[subnode_name] ||= node.locate(subnode_name).first
end
subnode_text(subnode_name) click to toggle source
# File lib/dustbag/parser/node.rb, line 18
def subnode_text(subnode_name)
  subnode = subnode(subnode_name)
  subnode && subnode.text
end