Sha256: 894aeebed007d1cd9ef9eb3cf175538005de5bec6d2bcec0eb2d7f6eefc10764

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module SparkApi
  # =API Client
  # Main class to setup and run requests on the API.  A default client is accessible globally as 
  # SparkApi::client if the global configuration has been set as well.  Otherwise, this class may 
  # be instanciated separately with the configuration information.
  class Client
    include Connection
    include Authentication
    include Request
    
    attr_accessor :authenticator
    attr_accessor *Configuration::VALID_OPTION_KEYS
    
    # Constructor bootstraps the client with configuration and authorization class.
    # options - see Configuration::VALID_OPTION_KEYS
    # auth_klass - subclass of Authentication::BaseAuth Defaults to the original api auth system.
    def initialize(options={}, auth_klass=ApiAuth)
      options = SparkApi.options.merge(options)
      Configuration::VALID_OPTION_KEYS.each do |key|
        send("#{key}=", options[key])
      end
      # Instanciate the authenication class passed in.
      @authenticator = authentication_mode.send("new", self)
    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spark_api-1.0.1 lib/spark_api/client.rb
spark_api-1.0.0 lib/spark_api/client.rb