class Db2Query::Result

Attributes

definition[R]
query[R]

Public Class Methods

new(columns, rows, definition) click to toggle source
Calls superclass method
# File lib/db2_query/result.rb, line 11
def initialize(columns, rows, definition)
  @definition = definition
  validate_result_columns(columns)
  super(columns, rows, {})
end

Public Instance Methods

inspect() click to toggle source
# File lib/db2_query/result.rb, line 37
def inspect
  entries = records.take(11).map!(&:inspect)
  entries[10] = "..." if entries.size == 11
  "#<#{self.class.name} [#{entries.join(', ')}]>"
end
record() click to toggle source
# File lib/db2_query/result.rb, line 17
def record
  records.first
end
records() click to toggle source
# File lib/db2_query/result.rb, line 21
def records
  @records ||= rows.map { |row| new_record(row) }
end
to_h() click to toggle source
# File lib/db2_query/result.rb, line 25
def to_h
  rows.map do |row|
    index, hash = [0, {}]
    while index < columns.length
      attr_name = columns[index].to_sym
      hash[attr_name] = data_type(attr_name).deserialize(row[index])
      index += 1
    end
    hash
  end
end

Private Instance Methods

method_missing(method_name, *args, &block) click to toggle source
Calls superclass method
# File lib/db2_query/result.rb, line 81
def method_missing(method_name, *args, &block)
  if record.respond_to?(method_name)
    record.send(method_name)
  else
    super
  end
end
new_record(row) click to toggle source
# File lib/db2_query/result.rb, line 77
def new_record(row)
  Record.new(row, columns, definition)
end