class GraphStarter::QueryAuthorizer
Public Class Methods
new(query_object, filter = nil)
click to toggle source
Can take:
* a Query * a Proxy object * Anything that responds to #query where a `Query` is returned
# File lib/graph_starter/query_authorizer.rb, line 7 def initialize(query_object, filter = nil) validate_query_object!(query_object) @query_object = query_object @filter = filter end
Private Class Methods
queryish?(query_object)
click to toggle source
# File lib/graph_starter/query_authorizer.rb, line 44 def self.queryish?(query_object) query_object.is_a?(::Neo4j::Core::Query) || # Working around these two classes for new. They should return `true` # for `respond_to(:query)` query_object.is_a?(::Neo4j::ActiveNode::HasN::AssociationProxy) || query_object.is_a?(::Neo4j::ActiveNode::Query::QueryProxy) || query_object.respond_to?(:query) end
Public Instance Methods
Private Instance Methods
query()
click to toggle source
# File lib/graph_starter/query_authorizer.rb, line 53 def query if @query_object.is_a?(::Neo4j::Core::Query) @query_object else @query_object.query end end
scope_filter(variable)
click to toggle source
# File lib/graph_starter/query_authorizer.rb, line 83 def scope_filter(variable) if @filter.is_a?(Hash) @filter[variable.to_sym] else @filter end end
validate_query_object!(query_object)
click to toggle source
# File lib/graph_starter/query_authorizer.rb, line 38 def validate_query_object!(query_object) return if self.class.queryish?(query_object) fail ArgumentError, "Expected query_object to be queryish. Was: #{query_object.inspect}" end