Sha256: e0e80c62a334306f4ca25f089082eea037000f9506a2e3b78951b4048a8f24c9
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module CloudSesame module Query class Builder include DSL::Base include DSL::PageMethods include DSL::QueryMethods include DSL::ReturnMethods include DSL::SortMethods # # Filter Query DSL include DSL::BlockMethods include DSL::FieldMethods include DSL::FilterQueryMethods include DSL::ScopeMethods attr_reader :context, :searchable, :result def initialize(default_context, searchable) @context = default_context @searchable = searchable end def request @request ||= Node::Request.new context.dup end def response @response ||= search en def compile request.compile end def inspect "#<#{ self.class }:#{ object_id } #{ compile }>" end # ENDING METHODS # ========================================= def found response.hits.found end def results response.hits.hit end def each(&block) results.each &block end def map(&block) results.map &block end def search compiled = request.compile raise Error::MissingQuery.new("Query or FilterQuery can not be empty!") if !compiled[:query] || compiled[:query].empty? @response = searchable.cloudsearch.client.search compiled end private def dsl_scope request.filter_query.root end def dsl_return(node = nil) self end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
CloudSesame-0.3.5 | lib/cloud_sesame/query/builder.rb |