class Riak::YzQuery::QueryBuilder
Public Class Methods
new(bucket)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 4 def initialize(bucket) @bucket = bucket end
Public Instance Methods
initialize_from_opts(opts)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 8 def initialize_from_opts(opts) @bucket = opts[:bucket] @where_clauses = opts[:where_clauses] @order_clauses = opts[:order_clauses] @limit = opts[:limit] @offset = opts[:offset] end
keys()
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 32 def keys @keys ||= results['docs'].map{|d| d['_yz_rk']} end
limit(lim)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 24 def limit(lim) chain limit: lim end
offset(off)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 28 def offset(off) chain offset: off end
order(opts)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 20 def order(opts) chain order_clauses: order_clauses.consume(opts) end
to_yz_query()
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 40 def to_yz_query where_clauses.to_yz_query end
values()
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 36 def values @bucket.get_many keys end
where(opts)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 16 def where(opts) chain where_clauses: where_clauses.consume(opts) end
Private Instance Methods
chain(opts)
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 45 def chain(opts) new_options = { bucket: @bucket, where_clauses: where_clauses, order_clauses: order_clauses, limit: @limit, offset: @offset }.merge opts chain = self.class.allocate chain.initialize_from_opts new_options return chain end
order_clauses()
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 75 def order_clauses @order_clauses ||= OrderClause.new Hash.new end
results()
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 60 def results opts = {} opts[:rows] = @limit if @limit opts[:start] = @offset if @offset if order = order_clauses.to_yz_query opts[:sort] = order end @results ||= @bucket.client.search @bucket.name, to_yz_query, opts end
where_clauses()
click to toggle source
# File lib/riak/yz_query/query_builder.rb, line 71 def where_clauses @where_clauses ||= WhereClause.new Hash.new end