Class: Neo4j::Cypher::Argument

Inherits:
Object
  • Object
show all
Includes:
Clause
Defined in:
lib/neo4j-cypher/argument.rb

Defined Under Namespace

Classes: EvalContext

Constant Summary

Constants included from Clause

Clause::NAME, Clause::ORDER

Instance Attribute Summary

Attributes included from Clause

#clause_list, #clause_type, #eval_context, #expr, #insert_order

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Clause

#<=>, #alias_name, #as_alias, #as_alias?, #clause_position, #create_clause_args_for, #match_value, #match_value=, #prefix, #referenced!, #referenced?, #separator, #to_prop_string, #valid_clause?, #var_name, #var_name=

Constructor Details

#initialize(clause_list, expr, var_name) ⇒ Argument

Returns a new instance of Argument.



7
8
9
10
11
12
13
# File 'lib/neo4j-cypher/argument.rb', line 7

def initialize(clause_list, expr, var_name)
  super(clause_list, :argument, EvalContext)
  var_name ||= self.var_name
  @expr = var_name
  as_alias(var_name)
  @return_value = (expr != var_name.to_s) ? "#{expr} as #{var_name}" : expr
end

Class Method Details

.new_arg_from_clause(clause) ⇒ Object



19
20
21
# File 'lib/neo4j-cypher/argument.rb', line 19

def self.new_arg_from_clause(clause)
  Argument.new(clause.clause_list, clause.return_value, clause.as_alias? && clause.alias_name)
end

.new_arg_from_string(string, clause_list) ⇒ Object



23
24
25
# File 'lib/neo4j-cypher/argument.rb', line 23

def self.new_arg_from_string(string, clause_list)
  Argument.new(clause_list, string.to_s, string)
end

Instance Method Details

#return_valueObject



15
16
17
# File 'lib/neo4j-cypher/argument.rb', line 15

def return_value
  @return_value
end