require 'forwardable' module Swift # Result. # # Wrapper for command result. It lazily instantiates a new Swift::Record instance for each result row. class Result include Enumerable extend Forwardable def_delegators :@result, :selected_rows, :affected_rows, :fields, :types, :insert_id def initialize record, result @record = record @result = result end def each @result.each do |tuple| yield @record.load(tuple) end end end # Result end # Swift