Sha256: b802f084f4fa1fc7d065f24d93eca058c769bcfefdfb2516d29ecbe18f140815
Contents?: true
Size: 1.33 KB
Versions: 3
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 end 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
CloudSesame-0.4.2 | lib/cloud_sesame/query/builder.rb |
CloudSesame-0.4.1 | lib/cloud_sesame/query/builder.rb |
CloudSesame-0.4.0 | lib/cloud_sesame/query/builder.rb |