QueryFactory¶
Acts as a bridge between the node and rel models and Neo4j::Core::Query. If the object is persisted, it returns a query matching; otherwise, it returns a query creating it. This class does not execute queries, so it keeps no record of what identifiers have been set or what has happened in previous factories.
Constants¶
Methods¶
def base_query @base_query || Neo4j::Session.current.query end
#base_query=
def base_query=(query) return if query.blank? @base_query = query end
def self.create(graph_object, identifier) factory = case graph_object when Neo4j::ActiveNode NodeQueryFactory when Neo4j::ActiveRel RelQueryFactory else fail "Unable to find factory for #{graph_object}" end factory.new(graph_object, identifier) end
def initialize(graph_object, identifier) @graph_object = graph_object @identifier = identifier.to_sym end
def query graph_object.persisted? ? match_query : create_query end