Class: Rufus::Tokyo::TableResultSet

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/rufus/tokyo/cabinet/table.rb

Overview

The thing queries return

Instance Method Summary collapse

Constructor Details

#initialize(table, list_pointer, query_opts) ⇒ TableResultSet

Returns a new instance of TableResultSet.



703
704
705
706
707
708
# File 'lib/rufus/tokyo/cabinet/table.rb', line 703

def initialize (table, list_pointer, query_opts)

  @table = table
  @list = Rufus::Tokyo::List.new(list_pointer)
  @opts = query_opts
end

Instance Method Details

#eachObject

The classical each



721
722
723
724
725
726
727
728
729
730
731
732
# File 'lib/rufus/tokyo/cabinet/table.rb', line 721

def each
  (0..size-1).each do |i|
    pk = @list[i]
    if @opts[:pk_only]
      yield(pk)
    else
      val = @table[pk]
      val[:pk] = pk unless @opts[:no_pk]
      yield(val)
    end
  end
end

#freeObject Also known as: close, destroy

Frees this query (the underlying Tokyo Cabinet list structure)



743
744
745
746
747
# File 'lib/rufus/tokyo/cabinet/table.rb', line 743

def free

  @list.free
  @list = nil
end

#sizeObject Also known as: length

Returns the count of element in this result set



712
713
714
715
# File 'lib/rufus/tokyo/cabinet/table.rb', line 712

def size

  @list.size
end

#to_aObject

Returns an array of hashes



736
737
738
739
# File 'lib/rufus/tokyo/cabinet/table.rb', line 736

def to_a

  collect { |m| m }
end