Class: Gammo::XPath::AST::Axis::AncestorOrSelf

Inherits:
Gammo::XPath::AST::Axis
  • Object
show all
Defined in:
lib/gammo/xpath/ast/axis.rb

Constant Summary

Constants included from Subclassify

Subclassify::NotFoundError

Instance Method Summary collapse

Instance Method Details

#strain(context, context_node, node_set) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
# File 'lib/gammo/xpath/ast/axis.rb', line 58

def strain(context, context_node, node_set)
  node_set << context_node if node_test.match?(context_node)
  if context_node.instance_of?(Gammo::Attribute)
    context_node = context_node.owner_element
    node_set << context_node if node_test.match?(context_node)
  end
  node = context_node
  while node = node.parent
    node_set << node if node_test.match?(node)
  end
end