class CrateRuby::ResultSet

Attributes

cols[R]
duration[R]
rowcount[R]

Public Class Methods

new(result) click to toggle source

@param [String] result

# File lib/crate_ruby/result_set.rb, line 28
def initialize(result)
  result = JSON.parse(result)
  @cols = result['cols']
  @rows = result['rows']
  @rowcount = result['rowcount']
  @duration = result['duration']
end

Public Instance Methods

<<(val) click to toggle source
# File lib/crate_ruby/result_set.rb, line 40
def <<(val)
  @rows << val
end
[](val) click to toggle source
# File lib/crate_ruby/result_set.rb, line 48
def [](val)
  @rows[val]
end
each(&block) click to toggle source
# File lib/crate_ruby/result_set.rb, line 44
def each(&block)
  @rows.each(&block)
end
inspect() click to toggle source
# File lib/crate_ruby/result_set.rb, line 36
def inspect
  %(#<CrateRuby::ResultSet:#{object_id}>, @rowcount="#{@rowcount}", @duration=#{@duration}>)
end
select_columns(ary, &block) click to toggle source

@param [Array] ary Column names to filer on @return [Array] Filtered rows

# File lib/crate_ruby/result_set.rb, line 59
def select_columns(ary, &block)
  indexes = ary.map { |col| @cols.index(col) }.compact
  @rows.map { |r| r.values_at(*indexes) }.each(&block)
end
values() click to toggle source

@return [Array] Returns all rows as Array of arrays

# File lib/crate_ruby/result_set.rb, line 53
def values
  @rows
end