module PaloAlto::DSL

github.com/teamcapybara/xpath - MIT license

Constants

AXES
LOWERCASE_LETTERS
METHODS
OPERATORS
UPPERCASE_LETTERS

Public Instance Methods

+(*expressions)
Alias for: union
anywhere(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 33
def anywhere(*expressions)
        Expression.new(:anywhere, expressions)
end
axis(name, *element_names) click to toggle source
# File lib/palo_alto/config.rb, line 29
def axis(name, *element_names)
        Expression.new(:axis, current, name, element_names)
end
binary_operator(name, rhs) click to toggle source
# File lib/palo_alto/config.rb, line 74
def binary_operator(name, rhs)
        Expression.new(:binary_operator, name, current, rhs)
end
child(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 25
def child(*expressions)
        Expression.new(:child, current, expressions)
end
contains_word(word) click to toggle source
# File lib/palo_alto/config.rb, line 163
def contains_word(word)
        function(:concat, ' ', current.normalize_space, ' ').contains(" #{word} ")
end
css(selector) click to toggle source
# File lib/palo_alto/config.rb, line 45
def css(selector)
        Expression.new(:css, current, Literal.new(selector))
end
current() click to toggle source
# File lib/palo_alto/config.rb, line 17
def current
        Expression.new(:this_node)
end
descendant(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 21
def descendant(*expressions)
        Expression.new(:descendant, current, expressions)
end
ends_with(suffix) click to toggle source
# File lib/palo_alto/config.rb, line 159
def ends_with(suffix)
        function(:substring, current, function(:'string-length', current).minus(function(:'string-length', suffix)).plus(1)) == suffix
end
function(name, *arguments) click to toggle source
# File lib/palo_alto/config.rb, line 49
def function(name, *arguments)
        Expression.new(:function, name, *arguments)
end
is(expression) click to toggle source

alias_method :[], :where

# File lib/palo_alto/config.rb, line 70
def is(expression)
        Expression.new(:is, current, expression)
end
last() click to toggle source
# File lib/palo_alto/config.rb, line 83
def last
        function(:last)
end
lowercase() click to toggle source
# File lib/palo_alto/config.rb, line 170
def lowercase
        method(:translate, UPPERCASE_LETTERS, LOWERCASE_LETTERS)
end
method(name, *arguments) click to toggle source
# File lib/palo_alto/config.rb, line 53
def method(name, *arguments)
        if name!=:not
                Expression.new(:function, name, current, *arguments)
        else
                Expression.new(:function, name, *arguments)
        end
end
next_sibling(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 182
def next_sibling(*expressions)
        axis(:'following-sibling')[1].axis(:self, *expressions)
end
one_of(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 178
def one_of(*expressions)
        expressions.map { |e| current.equals(e) }.reduce(:or)
end
position() click to toggle source
# File lib/palo_alto/config.rb, line 87
def position
        function(:position)
end
previous_sibling(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 186
def previous_sibling(*expressions)
        axis(:'preceding-sibling')[1].axis(:self, *expressions)
end
qname() click to toggle source
# File lib/palo_alto/config.rb, line 111
def qname
        method(:name)
end
relative(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 9
def relative(*expressions)
        Expression.new(:relative, current, expressions)
end
root(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 13
def root(*expressions)
        Expression.new(:root, current, expressions)
end
text() click to toggle source
# File lib/palo_alto/config.rb, line 41
def text
        Expression.new(:text, current)
end
union(*expressions) click to toggle source
# File lib/palo_alto/config.rb, line 78
def union(*expressions)
        Union.new(*[self, expressions].flatten)
end
Also aliased as: +
uppercase() click to toggle source
# File lib/palo_alto/config.rb, line 174
def uppercase
        method(:translate, LOWERCASE_LETTERS, UPPERCASE_LETTERS)
end
where(expression) click to toggle source
# File lib/palo_alto/config.rb, line 61
def where(expression)
        if expression
                Expression.new(:where, current, expression)
        else
                current
        end
end
xpath_attr(expression) click to toggle source
# File lib/palo_alto/config.rb, line 37
def xpath_attr(expression)
        Expression.new(:attribute, current, expression)
end