class Tarantool::BaseRecord::Select
Attributes
params[R]
record[R]
Public Class Methods
new(record, params={})
click to toggle source
# File lib/tarantool/record/select.rb, line 7 def initialize(record, params={}) @record = record @params = params end
Public Instance Methods
all()
click to toggle source
# File lib/tarantool/record/select.rb, line 63 def all results.dup end
Also aliased as: to_a
auto_shard()
click to toggle source
# File lib/tarantool/record/select.rb, line 57 def auto_shard params = @params.dup params.delete :shard self.class.new(@record, params) end
call(*args)
click to toggle source
# File lib/tarantool/record/select.rb, line 37 def call(*args) @record.call(*args) end
each() { |a| ... }
click to toggle source
# File lib/tarantool/record/select.rb, line 32 def each return to_enum unless block_given? results.each{|a| yield a} end
first()
click to toggle source
# File lib/tarantool/record/select.rb, line 68 def first space.select(@params[:where], @params[:offset] || 0, 1).first end
limit(limit)
click to toggle source
# File lib/tarantool/record/select.rb, line 41 def limit(limit) self.class.new(@record, @params.merge(limit: limit)) end
offset(offset)
click to toggle source
# File lib/tarantool/record/select.rb, line 45 def offset(offset) self.class.new(@record, @params.merge(offset: offset)) end
reset!()
click to toggle source
# File lib/tarantool/record/select.rb, line 27 def reset! @results = nil self end
results()
click to toggle source
# File lib/tarantool/record/select.rb, line 16 def results @results ||= begin raise "Condition is not set" unless @params[:where] @record.auto_space.select( @params[:where], @params[:offset] || 0, @params[:limit] || -1 ) end end
shard(params)
click to toggle source
# File lib/tarantool/record/select.rb, line 53 def shard(params) self.class.new(@record, @params.merge(shard: params)) end
space()
click to toggle source
# File lib/tarantool/record/select.rb, line 72 def space space = @record.auto_space @params[:shard] ? space.shard(@params[:shard]) : space end
space_no()
click to toggle source
# File lib/tarantool/record/select.rb, line 12 def space_no @record.space_no end
where(params)
click to toggle source
# File lib/tarantool/record/select.rb, line 49 def where(params) self.class.new(@record, @params.merge(where: params)) end