Class: Dommy::Internal::ScopedCSSPseudoHandlers

Inherits:
CSSPseudoHandlers show all
Defined in:
lib/dommy/internal/css_pseudo_handlers.rb

Overview

Adds ā€˜:scope` support. Nokogiri compiles `:scope` into a custom XPath function `nokogiri:scope(.)`, calling it as `scope(node_set)`; a scoped query (`el.querySelector(ā€œ:scope > pā€)`) resolves it to the context element, so only that element matches. One instance per query — it carries the context node.

Instance Method Summary collapse

Methods inherited from CSSPseudoHandlers

#checked, #disabled, #enabled

Constructor Details

#initialize(scope_node) ⇒ ScopedCSSPseudoHandlers

Returns a new instance of ScopedCSSPseudoHandlers.



34
35
36
# File 'lib/dommy/internal/css_pseudo_handlers.rb', line 34

def initialize(scope_node)
  @scope_node = scope_node
end

Instance Method Details

#scope(list) ⇒ Object



38
39
40
# File 'lib/dommy/internal/css_pseudo_handlers.rb', line 38

def scope(list)
  list.find_all { |node| node.pointer_id == @scope_node.pointer_id }
end