Sha256: 884509bf60df2f983e806edac4db217208fb479d9940bf46b250e2b317463b2b

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

module FlexmlsApi
  # =API Client
  # Main class to setup and run requests on the API.  A default client is accessible globally as 
  # FlexmlsApi::client if the global configuration has been set as well.  Otherwise, this class may 
  # be instanciated separately with the configuration information.
  class Client
    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 = FlexmlsApi.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

1 entries across 1 versions & 1 rubygems

Version Path
flexmls_api-0.7.0 lib/flexmls_api/client.rb