Class: Pincers::CSS::XPathVisitor
- Inherits:
-
Nokogiri::CSS::XPathVisitor
- Object
- Nokogiri::CSS::XPathVisitor
- Pincers::CSS::XPathVisitor
- Defined in:
- lib/pincers/css/xpath_visitor.rb
Instance Method Summary collapse
-
#visit_function_contains(_node) ⇒ Object
jQuery extended functions and classes.
-
#visit_function_eq(_node) ⇒ Object
override nokogiri impl to make it zero-based.
-
#visit_function_gt(_node) ⇒ Object
override nokogiri impl to make it zero-based.
- #visit_function_has(_node) ⇒ Object
- #visit_function_lt(_node) ⇒ Object
- #visit_pseudo_class_button(_node) ⇒ Object
- #visit_pseudo_class_checkbox(_node) ⇒ Object
- #visit_pseudo_class_checked(_node) ⇒ Object
- #visit_pseudo_class_even(_node) ⇒ Object
- #visit_pseudo_class_file(_node) ⇒ Object
- #visit_pseudo_class_image(_node) ⇒ Object
- #visit_pseudo_class_input(_node) ⇒ Object
- #visit_pseudo_class_odd(_node) ⇒ Object
- #visit_pseudo_class_password(_node) ⇒ Object
- #visit_pseudo_class_radio(_node) ⇒ Object
- #visit_pseudo_class_reset(_node) ⇒ Object
- #visit_pseudo_class_selected(_node) ⇒ Object
- #visit_pseudo_class_text(_node) ⇒ Object
Instance Method Details
#visit_function_contains(_node) ⇒ Object
jQuery extended functions and classes
7 8 9 |
# File 'lib/pincers/css/xpath_visitor.rb', line 7 def visit_function_contains(_node) # override nokofiri impl to search in value attribute too "(contains(., #{_node.value[1]}) or contains(@value, #{_node.value[1]}))" end |
#visit_function_eq(_node) ⇒ Object
override nokogiri impl to make it zero-based
15 16 17 |
# File 'lib/pincers/css/xpath_visitor.rb', line 15 def visit_function_eq(_node) # override nokogiri impl to make it zero-based "(position()-1)=#{_node.value[1]}" end |
#visit_function_gt(_node) ⇒ Object
override nokogiri impl to make it zero-based
19 20 21 22 |
# File 'lib/pincers/css/xpath_visitor.rb', line 19 def visit_function_gt(_node) # override nokogiri impl to make it zero-based # "((#{_node.value[1]} >= 0 and position() > #{_node.value[1]}) or (#{_node.value[1]} < 0 and position() < #{_node.value[1]}))" "(position()-1)>#{_node.value[1]}" end |
#visit_function_has(_node) ⇒ Object
11 12 13 |
# File 'lib/pincers/css/xpath_visitor.rb', line 11 def visit_function_has(_node) _node.value[1].accept(self) end |
#visit_function_lt(_node) ⇒ Object
24 25 26 |
# File 'lib/pincers/css/xpath_visitor.rb', line 24 def visit_function_lt(_node) "(position()-1)<#{_node.value[1]}" end |
#visit_pseudo_class_button(_node) ⇒ Object
32 33 34 |
# File 'lib/pincers/css/xpath_visitor.rb', line 32 def (_node) "(name()='button' or (name()='input' and @type='button'))" end |
#visit_pseudo_class_checkbox(_node) ⇒ Object
36 37 38 |
# File 'lib/pincers/css/xpath_visitor.rb', line 36 def visit_pseudo_class_checkbox(_node) "@type='checkbox'" end |
#visit_pseudo_class_checked(_node) ⇒ Object
68 69 70 |
# File 'lib/pincers/css/xpath_visitor.rb', line 68 def visit_pseudo_class_checked(_node) "@checked" end |
#visit_pseudo_class_even(_node) ⇒ Object
76 77 78 |
# File 'lib/pincers/css/xpath_visitor.rb', line 76 def visit_pseudo_class_even(_node) "position() mod 2 = 0" end |
#visit_pseudo_class_file(_node) ⇒ Object
40 41 42 |
# File 'lib/pincers/css/xpath_visitor.rb', line 40 def visit_pseudo_class_file(_node) "@type='file'" end |
#visit_pseudo_class_image(_node) ⇒ Object
44 45 46 |
# File 'lib/pincers/css/xpath_visitor.rb', line 44 def visit_pseudo_class_image(_node) "@type='image'" end |
#visit_pseudo_class_input(_node) ⇒ Object
28 29 30 |
# File 'lib/pincers/css/xpath_visitor.rb', line 28 def visit_pseudo_class_input(_node) "((name()='input' and not(@type='hidden')) or name()='textarea' or name()='select' or name()='button')" end |
#visit_pseudo_class_odd(_node) ⇒ Object
72 73 74 |
# File 'lib/pincers/css/xpath_visitor.rb', line 72 def visit_pseudo_class_odd(_node) "position() mod 2 = 1" end |
#visit_pseudo_class_password(_node) ⇒ Object
48 49 50 |
# File 'lib/pincers/css/xpath_visitor.rb', line 48 def visit_pseudo_class_password(_node) "@type='password'" end |
#visit_pseudo_class_radio(_node) ⇒ Object
52 53 54 |
# File 'lib/pincers/css/xpath_visitor.rb', line 52 def visit_pseudo_class_radio(_node) "@type='radio'" end |
#visit_pseudo_class_reset(_node) ⇒ Object
56 57 58 |
# File 'lib/pincers/css/xpath_visitor.rb', line 56 def visit_pseudo_class_reset(_node) "@type='reset'" end |
#visit_pseudo_class_selected(_node) ⇒ Object
64 65 66 |
# File 'lib/pincers/css/xpath_visitor.rb', line 64 def visit_pseudo_class_selected(_node) "@selected" end |
#visit_pseudo_class_text(_node) ⇒ Object
60 61 62 |
# File 'lib/pincers/css/xpath_visitor.rb', line 60 def visit_pseudo_class_text(_node) "@type='text'" end |