Sha256: 5dd2d5e4fa628b46aa53810b7239ec8e7a39c26f75775f14d6463528d0c6d862

Contents?: true

Size: 811 Bytes

Versions: 2

Compression:

Stored size: 811 Bytes

Contents

module ROM

  # Repository exposes native database connection and schema when it's
  # supported by the adapter
  #
  # @api public
  class Repository
    include Concord::Public.new(:adapter)

    # Return the dataset identified by name
    #
    # @param [String,Symbol] name
    #
    # @api public
    def [](name)
      adapter[name]
    end

    # Return the database connection provided by the adapter
    #
    # @api public
    def connection
      adapter.connection
    end

    # Return the schema provided by the adapter
    #
    # @api private
    def schema
      adapter.schema
    end

    # @api private
    def respond_to_missing?(name, include_private = false)
      adapter[name]
    end

    private

    # @api private
    def method_missing(name)
      adapter[name]
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rom-0.3.1 lib/rom/repository.rb
rom-0.3.0 lib/rom/repository.rb