class SexpPath::Matcher::Child

See SexpQueryBuilder.child

Attributes

child[R]

Public Class Methods

new(child) click to toggle source

Create a Child matcher which will match anything having a descendant matching child.

# File lib/sexp_path/matcher/child.rb, line 6
def initialize(child)
  @child = child
end

Public Instance Methods

inspect() click to toggle source
# File lib/sexp_path/matcher/child.rb, line 21
def inspect
  "child(#{child.inspect})"
end
satisfy?(o, data={}) click to toggle source

Satisfied if matches child or o has a descendant matching child.

# File lib/sexp_path/matcher/child.rb, line 11
def satisfy?(o, data={})
  if child.satisfy?(o,data)
    capture_match o, data
  elsif o.is_a? Sexp
    o.search_each(child,data) do 
      return capture_match(o, data)
    end
  end
end