module Github::Configuration

def self.extended(base)

def self.extended(base)
  base.set_defaults
end

def configure

Convenience method to allow for global setting of configuration options
def configure
  yield self
end

def options

def options
  options = {}
  VALID_OPTIONS_KEYS.each { |k| options[k] = send(k) }
  options
end

def set_defaults

def set_defaults
  self.adapter            = DEFAULT_ADAPTER
  self.client_id          = DEFAULT_CLIENT_ID
  self.client_secret      = DEFAULT_CLIENT_SECRET
  self.oauth_token        = DEFAULT_OAUTH_TOKEN
  self.endpoint           = DEFAULT_ENDPOINT
  self.user_agent         = DEFAULT_USER_AGENT
  self.connection_options = DEFAULT_CONNECTION_OPTIONS
  self.mime_type          = DEFAULT_MIME_TYPE
  self.user               = DEFAULT_USER
  self.repo               = DEFAULT_REPO
  self.login              = DEFAULT_LOGIN
  self.password           = DEFAULT_PASSWORD
  self.basic_auth         = DEFAULT_BASIC_AUTH
  self
end