Skip to content

Return an Enumerator from each* methods when no block is given

David Cornu requested to merge davidcornu/oga:each-enum into master

Updates the following methods

  • Oga::XML::Attribute#each_ancestor
  • Oga::XML::Node#each_ancestor
  • Oga::XML::NodeSet#each
  • Oga::XML::Traversal#each_node

to return an Enumerator when they are called without a block.

This is a common pattern in Ruby's enumeration methods such as Array#each which allows for patterns such as

node.each_ancestor.find { |node| node.name == 'tr' }

Merge request reports