module Delfos::Neo4j::QueryExecution::HttpQuery
Public Class Methods
included(base)
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 6 def self.included(base) base.instance_eval do attr_reader :query, :params end end
new(query, params, uri = nil)
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 12 def initialize(query, params, uri = nil) @query = query @params = params @uri = uri end
Private Instance Methods
errors?()
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 37 def errors? json["errors"].length.positive? end
fetch()
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 45 def fetch log_query Http.new(uri).post(request_body) end
json()
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 33 def json JSON.parse response.body end
log_query()
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 51 def log_query statement = strip_whitespace(query) if statement begin params.each { |k, v| statement = statement.gsub("{#{k}}", v.inspect) } rescue byebug end Delfos.logger.debug "sending query: " Delfos.logger.debug statement.gsub(/^/, " ") end end
request_body()
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 20 def request_body { "statements": [{ "statement": strip_whitespace(query), "parameters": params }], }.to_json end
response()
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 41 def response @response ||= fetch end
strip_whitespace(s)
click to toggle source
# File lib/delfos/neo4j/query_execution/http_query.rb, line 26 def strip_whitespace(s) s. gsub(/^\s+/, ""). gsub(/ +/, " "). gsub("\n\n", "\n") end