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.



868
869
870
871
872
873
# File 'lib/rufus/tokyo/cabinet/table.rb', line 868

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



886
887
888
889
890
891
892
893
894
895
896
897
898
# File 'lib/rufus/tokyo/cabinet/table.rb', line 886

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)



909
910
911
912
913
# File 'lib/rufus/tokyo/cabinet/table.rb', line 909

def free

  @list.free
  @list = nil
end

#sizeObject Also known as: length

Returns the count of element in this result set



877
878
879
880
# File 'lib/rufus/tokyo/cabinet/table.rb', line 877

def size

  @list.size
end

#to_aObject

Returns an array of hashes



902
903
904
905
# File 'lib/rufus/tokyo/cabinet/table.rb', line 902

def to_a

  collect { |m| m }
end