Sha256: e951bce6fe4aa4e2ad7d35be8092be64a50cc4a4e70c2cb263267a28449bde81

Contents?: true

Size: 967 Bytes

Versions: 14

Compression:

Stored size: 967 Bytes

Contents

module CloudSesame
	module Query
		class Builder
			include DSL::QueryMethods
			include DSL::ResponseMethods
			include DSL::BlockStyledOperators
			include DSL::FieldAccessors
			include DSL::ScopeAccessors
			include DSL::AppliedFilterQuery
			include DSL::PageMethods
			include DSL::SortMethods
			include DSL::ReturnMethods

			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 _block_domain(block)
				if block
					caller = block.binding.eval("self")
					Domain::Block.new caller, _context
				end
			end

			def _scope
				request.filter_query.root
			end

			def _context
				_scope.context
			end

			def _return
				self
			end

		end
	end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
CloudSesame-0.6.8 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.7 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.6 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.5 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.4 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.3 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.2 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.1 lib/cloud_sesame/query/builder.rb
CloudSesame-0.6.0 lib/cloud_sesame/query/builder.rb
CloudSesame-0.5.5 lib/cloud_sesame/query/builder.rb
CloudSesame-0.5.4 lib/cloud_sesame/query/builder.rb
CloudSesame-0.5.3 lib/cloud_sesame/query/builder.rb
CloudSesame-0.5.2 lib/cloud_sesame/query/builder.rb
CloudSesame-0.5.1 lib/cloud_sesame/query/builder.rb