Module: Yoda::Parsing::Traverser::QueryInterface

Included in:
Yoda::Parsing::Traverser, ResultSet
Defined in:
lib/yoda/parsing/traverser/query_interface.rb

Instance Method Summary collapse

Instance Method Details

#query(**kwargs, &predicate) ⇒ Traverser?

Returns:



6
7
8
9
# File 'lib/yoda/parsing/traverser/query_interface.rb', line 6

def query(**kwargs, &predicate)
  result = select(**kwargs, &predicate).first
  result ? Traverser.new(result) : nil
end

#query_all(**kwargs, &predicate) ⇒ ResultSet

Returns:



12
13
14
# File 'lib/yoda/parsing/traverser/query_interface.rb', line 12

def query_all(**kwargs, &predicate)
  ResultSet.new(select(**kwargs, &predicate))
end

#query_ancestor(**kwargs, &predicate) ⇒ Traverser?

Returns:



17
18
19
20
# File 'lib/yoda/parsing/traverser/query_interface.rb', line 17

def query_ancestor(**kwargs, &predicate)
  result = select_ancestors(**kwargs, &predicate).first
  result ? Traverser.new(result) : nil
end

#query_ancestors(**kwargs, &predicate) ⇒ Traverser?

Returns:



23
24
25
# File 'lib/yoda/parsing/traverser/query_interface.rb', line 23

def query_ancestors(**kwargs, &predicate)
  ResultSet.new(select_ancestors(**kwargs, &predicate))
end