Class: Rufus::Edo::TableResultSet

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/rufus/edo/tabcore.rb

Overview

The thing queries return

Instance Method Summary collapse

Constructor Details

#initialize(table, primary_keys, query_opts) ⇒ TableResultSet

Returns a new instance of TableResultSet.



666
667
668
669
670
671
# File 'lib/rufus/edo/tabcore.rb', line 666

def initialize (table, primary_keys, query_opts)

  @table = table
  @keys = primary_keys
  @opts = query_opts
end

Instance Method Details

#eachObject

The classical each



684
685
686
687
688
689
690
691
692
693
694
695
# File 'lib/rufus/edo/tabcore.rb', line 684

def each

  @keys.each do |pk|
    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)



706
707
708
709
# File 'lib/rufus/edo/tabcore.rb', line 706

def free

  # nothing to do, kept for similarity with Rufus::Tokyo
end

#sizeObject Also known as: length

Returns the count of element in this result set



675
676
677
678
# File 'lib/rufus/edo/tabcore.rb', line 675

def size

  @keys.size
end

#to_aObject

Returns an array of hashes



699
700
701
702
# File 'lib/rufus/edo/tabcore.rb', line 699

def to_a

  self.collect { |m| m }
end