class Neo4j::Cypher::RootClause

Public Class Methods

new() click to toggle source
Calls superclass method Neo4j::Cypher::Clause::new
  # File lib/neo4j-cypher/root.rb
6 def initialize
7   super(ClauseList.new, :root, EvalContext)
8 end

Public Instance Methods

create_returns(last_result) click to toggle source
   # File lib/neo4j-cypher/root.rb
23 def create_returns(last_result)
24   if last_result.is_a?(Array)
25     eval_context.ret(*last_result)
26   elsif last_result.nil?
27     eval_context.ret(clause_list.last.eval_context) unless clause_list.empty?
28   else
29     eval_context.ret(last_result)
30   end
31 end
execute(args, &cypher_dsl) click to toggle source
   # File lib/neo4j-cypher/root.rb
10 def execute(args, &cypher_dsl)
11   result = eval_context.instance_exec(*args, &cypher_dsl)
12 
13   if ![Array, Symbol].include?(result.class)
14     return if clause_list.include?(:return)
15     return if clause_list.include?(:with)
16     return if clause_list.include?(:delete)
17     return if clause_list.include?(:set)
18     return if clause_list.include?(:remove)
19   end
20   create_returns(result)
21 end
return_names() click to toggle source
   # File lib/neo4j-cypher/root.rb
37 def return_names
38   ret = clause_list.return_clause
39   ret ? ret.return_items.map { |ri| (ri.alias_name || ri.return_value).to_sym } : []
40 end
return_value() click to toggle source
   # File lib/neo4j-cypher/root.rb
33 def return_value
34   clause_list.to_cypher
35 end