Class: Neo4j::Core::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/neo4j/core/query_ext.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#proxy_chain_levelObject

For instances where you turn a QueryProxy into a Query and then back to a QueryProxy with `#proxy_as`


21
22
23
# File 'lib/neo4j/core/query_ext.rb', line 21

def proxy_chain_level
  @proxy_chain_level
end

Instance Method Details

#proxy_as(model, var, optional = false) ⇒ Neo4j::ActiveNode::Query::QueryProxy

Creates a Neo4j::ActiveNode::Query::QueryProxy object that builds off of a Core::Query object.

Parameters:

  • model (Class)

    An ActiveNode model to be used as the start of a new QueryuProxy chain

  • var (Symbol)

    The variable to be used to refer to the object from within the new QueryProxy

  • optional (Boolean) (defaults to: false)

    Indicate whether the new QueryProxy will use MATCH or OPTIONAL MATCH.

Returns:


10
11
12
13
# File 'lib/neo4j/core/query_ext.rb', line 10

def proxy_as(model, var, optional = false)
  # TODO: Discuss whether it's necessary to call `break` on the query or if this should be left to the user.
  Neo4j::ActiveNode::Query::QueryProxy.new(model, nil, node: var, optional: optional, starting_query: self, chain_level: @proxy_chain_level)
end

#proxy_as_optional(model, var) ⇒ Object

Calls proxy_as with `optional` set true. This doesn't offer anything different from calling `proxy_as` directly but it may be more readable.


16
17
18
# File 'lib/neo4j/core/query_ext.rb', line 16

def proxy_as_optional(model, var)
  proxy_as(model, var, true)
end