Sha256: b241e28f4c9221a5bc415a3ab3b5f819e67bcf6e33511e9e401eaa16ebbdfe98

Contents?: true

Size: 838 Bytes

Versions: 3

Compression:

Stored size: 838 Bytes

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
			include DSL::ResponseMethods

			attr_reader :context, :searchable

			def initialize(context, searchable)
				@context = Context.new.duplicate context
				@searchable = searchable
			end

			def request
				@request ||= Node::Request.new context
			end

			def compile
				request.compile
			end

			def inspect
				"#<#{ self.class }:#{ object_id } #{ compile }>"
			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.6 lib/cloud_sesame/query/builder.rb
CloudSesame-0.4.5 lib/cloud_sesame/query/builder.rb
CloudSesame-0.4.4 lib/cloud_sesame/query/builder.rb