Sha256: e179b0ade4e9fcfece371906506108902d35a6d62c9243588c33cf599b9bebb4

Contents?: true

Size: 544 Bytes

Versions: 1

Compression:

Stored size: 544 Bytes

Contents

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.allocate.tap {|s| s.tuple = tuple}
      end
    end
  end # Result
end # Swift

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
swift-1.0.0 lib/swift/result.rb