class Pincers::CSS::XPathVisitor

Public Instance Methods

visit_function_contains(_node) click to toggle source

jQuery extended functions and classes

# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 11
def visit_function_has(_node)
  _node.value[1].accept(self)
end
visit_function_lt(_node) click to toggle source
# 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) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 32
def visit_pseudo_class_button(_node)
  "(name()='button' or (name()='input' and @type='button'))"
end
visit_pseudo_class_checkbox(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 36
def visit_pseudo_class_checkbox(_node)
  "@type='checkbox'"
end
visit_pseudo_class_checked(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 68
def visit_pseudo_class_checked(_node)
  "@checked"
end
visit_pseudo_class_even(_node) click to toggle source
# 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) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 40
def visit_pseudo_class_file(_node)
  "@type='file'"
end
visit_pseudo_class_image(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 44
def visit_pseudo_class_image(_node)
  "@type='image'"
end
visit_pseudo_class_input(_node) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 48
def visit_pseudo_class_password(_node)
  "@type='password'"
end
visit_pseudo_class_radio(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 52
def visit_pseudo_class_radio(_node)
  "@type='radio'"
end
visit_pseudo_class_reset(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 56
def visit_pseudo_class_reset(_node)
  "@type='reset'"
end
visit_pseudo_class_selected(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 64
def visit_pseudo_class_selected(_node)
  "@selected"
end
visit_pseudo_class_text(_node) click to toggle source
# File lib/pincers/css/xpath_visitor.rb, line 60
def visit_pseudo_class_text(_node)
  "@type='text'"
end