NodeQueryFactory

Constants

Methods

#base_query

def base_query
  @base_query || Neo4j::Session.current.query
end

#base_query=

def base_query=(query)
  return if query.blank?
  @base_query = query
end

.create

def self.create(graph_object, identifier)
  factory_for(graph_object).new(graph_object, identifier)
end

.factory_for

def self.factory_for(graph_obj)
  case
  when graph_obj.respond_to?(:labels_for_create)
    NodeQueryFactory
  when graph_obj.respond_to?(:rel_type)
    RelQueryFactory
  else
    fail "Unable to find factory for #{graph_obj}"
  end
end
#graph_object

Returns the value of attribute graph_object

def graph_object
  @graph_object
end
#identifier

Returns the value of attribute identifier

def identifier
  @identifier
end

#initialize

def initialize(graph_object, identifier)
  @graph_object = graph_object
  @identifier = identifier.to_sym
end

#query

def query
  graph_object.persisted? ? match_query : create_query
end