class Nokogiri::XML::Node
def add_sibling(next_or_previous, node_or_tags)
def add_sibling(next_or_previous, node_or_tags) raise("Cannot add sibling to a node with no parent") unless parent impl = (next_or_previous == :next) ? :add_next_sibling_node : :add_previous_sibling_node iter = (next_or_previous == :next) ? :reverse_each : :each node_or_tags = parent.coerce(node_or_tags) if node_or_tags.is_a?(XML::NodeSet) if text? pivot = Nokogiri::XML::Node.new "dummy", document send impl, pivot else pivot = self end node_or_tags.send(iter) { |n| pivot.send impl, n } pivot.unlink if text? else send impl, node_or_tags end node_or_tags end