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



657
658
659
660
661
662
# File 'lib/rufus/edo/tabcore.rb', line 657

def initialize (table, primary_keys, query_opts)

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

Instance Method Details

#eachObject

The classical each



675
676
677
678
679
680
681
682
683
684
685
686
# File 'lib/rufus/edo/tabcore.rb', line 675

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)



697
698
699
700
# File 'lib/rufus/edo/tabcore.rb', line 697

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



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

def size

  @keys.size
end

#to_aObject

Returns an array of hashes



690
691
692
693
# File 'lib/rufus/edo/tabcore.rb', line 690

def to_a

  self.collect { |m| m }
end