Sha256: 768c9e4d7192d12a80012e92abb99178195993d9854f5f39f8c963e681b07e51

Contents?: true

Size: 824 Bytes

Versions: 6

Compression:

Stored size: 824 Bytes

Contents

require_relative 'connect_client/client'
require_relative 'connect_client/configuration'

module ConnectClient
  class << self

    def configure
      config = Configuration.new
      yield(config)

      @client = ConnectClient::Client.new config
    end

    def reset
      @client = nil
    end

    def method_missing(method, *args, &block)
      return super unless client.respond_to?(method)
      client.send(method, *args, &block)
    end

    def respond_to?(method)
      return (!@client.nil? && @client.respond_to?(method)) || super
    end   

    private

    def client
      raise UnconfiguredError if @client.nil?

      @client
    end 
  end

  class UnconfiguredError < StandardError
    def message
      "Connect must configured before it can be used, please call Connect.configure"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
connect_client-0.2.2 lib/connect_client.rb
connect_client-0.2.1 lib/connect_client.rb
connect_client-0.1.6 lib/connect_client.rb
connect_client-0.1.5 lib/connect_client.rb
connect_client-0.1.4 lib/connect_client.rb
connect_client-0.1.3 lib/connect_client.rb