Class: Couchbase::Query
- Inherits:
-
Object
- Object
- Couchbase::Query
- Defined in:
- lib/couchbase/query.rb
Constant Summary collapse
- METHOD_MAPPING =
{ :include_docs => :setIncludeDocs, :descending => :setDescending, :key => :setKey, :keys => :setKeys, :start_key => :setRangeStart, :startkey => :setRangeStart, :startkey_docid => :setStartkeyDocID, :endkey => :setRangeEnd, :endkey_docid => :setEndkeyDocID, :inclusive_end => :setInclusiveEnd, :limit => :setLimit, :skip => :setSkip, :reduce => :setReduce, :group => :setGroup, :group_level => :setGroupLevel, :connection_timeout => nil }.freeze
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(params) ⇒ Query
constructor
A new instance of Query.
Constructor Details
#initialize(params) ⇒ Query
Returns a new instance of Query.
43 44 45 |
# File 'lib/couchbase/query.rb', line 43 def initialize(params) @params = params end |
Instance Method Details
#generate ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/couchbase/query.rb', line 47 def generate query = Java::ComCouchbaseClientProtocolViews::Query.new stale = @params.delete(:stale) if !stale.nil? case stale when :after_update query.setStale(Stale::UPDATE_AFTER) when :ok query.setStale(Stale::OK) when false query.setStale(Stale::FALSE) end end @params.each_pair do |meth, val| if METHOD_MAPPING.key?(meth) if java_meth = METHOD_MAPPING[meth] query.send(java_meth, val) end else fail ArgumentError, "Query does not support #{meth}" end end query end |