module ActiveGraph::Core::Querable
Public Instance Methods
queries(options = {}, &block)
click to toggle source
# File lib/active_graph/core/querable.rb 24 def queries(options = {}, &block) 25 query_builder = QueryBuilder.new 26 27 query_builder.instance_eval(&block) 28 29 transaction do 30 query_set(query_builder.queries, options) 31 end 32 end
query(*args)
click to toggle source
# File lib/active_graph/core/querable.rb 13 def query(*args) 14 options = case args.size 15 when 3 16 args.pop 17 when 2 18 args.pop if args[0].is_a?(::ActiveGraph::Core::Query) 19 end || {} 20 21 queries(options) { append(*args) }[0] 22 end
query_set(queries, options = {})
click to toggle source
# File lib/active_graph/core/querable.rb 41 def query_set(queries, options = {}) 42 setup_queries!(queries, skip_instrumentation: options[:skip_instrumentation]) 43 44 ActiveSupport::Notifications.instrument('neo4j.core.bolt.request') do 45 transaction do |tx| 46 queries.map do |query| 47 tx.run(query.cypher, query.parameters).tap { |result| result.wrap = options[:wrap] != false } 48 end 49 end 50 end 51 end
setup_queries!(queries, options = {})
click to toggle source
# File lib/active_graph/core/querable.rb 34 def setup_queries!(queries, options = {}) 35 return if options[:skip_instrumentation] 36 queries.each do |query| 37 ActiveSupport::Notifications.instrument('neo4j.core.cypher_query', query: query) 38 end 39 end