class CloudSesame::Query::Node::Request

Public Class Methods

query() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 11
def self.query
        @query ||= Query
end

Public Instance Methods

compile() click to toggle source

EVALUATION

# File lib/cloud_sesame/query/node/request.rb, line 53
def compile
        compiled = {}
        insert_query compiled
        insert_filter_query compiled
        insert_query_parser compiled
        insert_rest compiled
        insert_page compiled
        compiled
end
facet() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 34
def facet
        @facet ||= Facet.new(context[:facet])
end
filter_query() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 30
def filter_query
        @filter_query ||= FilterQuery.new(context[:filter_query])
end
page() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 38
def page
        @page ||= Page.new(context[:page])
end
query() click to toggle source

CHILDREN

# File lib/cloud_sesame/query/node/request.rb, line 18
def query
        @query ||= self.class.query.new(context[:query])
end
query_options() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 22
def query_options
        @query_options ||= QueryOptions.new(context[:query_options])
end
query_parser() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 26
def query_parser
        @query_parser ||= QueryParser.new(context[:query_parser])
end
return_field() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 46
def return_field
        @return ||= Return.new(context[:return])
end
sort() click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 42
def sort
        @sort ||= Sort.new(context[:sort])
end

Private Instance Methods

insert_filter_query(compiled) click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 71
def insert_filter_query(compiled)
        if (compiled_fq = filter_query.compile)
                if compiled[:query]
                        query_parser.simple
                        compiled[:filter_query] = compiled_fq
                else
                        query_parser.structured
                        compiled[:query] = compiled_fq
                end
        end
end
insert_page(compiled) click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 100
def insert_page(compiled)
        compiled.merge! page.compile
end
insert_query(compiled) click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 65
def insert_query(compiled)
        if (compiled_query = query.compile) && !compiled_query.empty?
                compiled[:query] = compiled_query
        end
end
insert_query_parser(compiled) click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 83
def insert_query_parser(compiled)
        compiled[:query_parser] = query_parser.compile
end
insert_rest(compiled) click to toggle source
# File lib/cloud_sesame/query/node/request.rb, line 87
def insert_rest(compiled)
        {
                query_options: query_options,
                facet: facet,
                sort: sort,
                return: return_field
        }.each do |name, node|
                compiled_node = node.compile
                compiled[name] = compiled_node if compiled_node
        end
        compiled
end