Sha256: dabad292bd7cb3262b14ee3ed1b81bcc1dea414a7cae0bcda06a8f179eb0edb3

Contents?: true

Size: 1.2 KB

Versions: 3

Compression:

Stored size: 1.2 KB

Contents

# encoding: utf-8

require 'veritas'
require 'veritas-sql-generator'
require 'data_objects'

module Veritas
  module Adapter

    # An adapter wrapping a DataObjects connection
    class DataObjects
      include Immutable

      # Initialize a DataObjects adapter
      #
      # @param [String] uri
      #
      # @return [undefined]
      #
      # @api private
      def initialize(uri)
        @uri = uri
      end

      # Read the results from the SQL representation of the relation
      #
      # @example
      #   adapter.read(relation) { |row| ... }
      #
      # @param [Relation] relation
      #
      # @yield [row]
      #
      # @yieldparam [Array] row
      #   each row in the results
      #
      # @return [self]
      #
      # @api public
      def read(relation)
        return to_enum(__method__, relation) unless block_given?
        connection = ::DataObjects::Connection.new(@uri)
        Statement.new(connection, relation).each { |row| yield row }
        self
      ensure
        connection.close if connection
      end

    end # class DataObjects
  end # module Adapter
end # module Veritas

require 'veritas/adapter/data_objects/version'

require 'veritas/adapter/data_objects/statement'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
veritas-do-adapter-0.0.7 lib/veritas/adapter/data_objects.rb
veritas-do-adapter-0.0.6 lib/veritas/adapter/data_objects.rb
veritas-do-adapter-0.0.5 lib/veritas/adapter/data_objects.rb