Sha256: d31caeb2a98aa122264fa10460a7724ac745a932ff781e6004e9c8710e6191cb

Contents?: true

Size: 464 Bytes

Versions: 1

Compression:

Stored size: 464 Bytes

Contents

require 'delegate'
require 'uri'

module Khronos
  class Storage < Delegator
    attr_reader :uri, :adapter

    def initialize(url=ENV['KHRONOS_STORAGE'])
      unless url.nil?
        @uri = URI.parse(url)

        require "khronos/adapter/#{@uri.scheme}"
        __setobj__(Adapter.const_get(@uri.scheme.capitalize).new(@uri))
      end
    end

    def __getobj__
      @adapter
    end

    def __setobj__(adapter)
      @adapter = adapter
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
khronos-0.0.0 lib/khronos/storage.rb