Skip to content

Commit

Permalink
Don't set cached screen_name when creating a new API client
Browse files Browse the repository at this point in the history
Closes #136.
  • Loading branch information
sferik committed Jan 16, 2011
1 parent cf825ea commit ceeed99
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 28 deletions.
2 changes: 1 addition & 1 deletion lib/twitter/client/utils.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module Utils
#
# @return [String]
def get_screen_name
Twitter.screen_name ||= self.verify_credentials.screen_name
@screen_name ||= self.verify_credentials.screen_name
end

# Remove @ signs from screen names
Expand Down
56 changes: 31 additions & 25 deletions lib/twitter/configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,34 @@ module Twitter
# Defines constants and methods related to configuration
module Configuration
# An array of valid keys in the options hash when configuring a {Twitter::API}
VALID_OPTIONS_KEYS = [:consumer_key, :consumer_secret, :oauth_token, :oauth_token_secret, :adapter, :endpoint, :format, :proxy, :search_endpoint, :user_agent, :screen_name].freeze
VALID_OPTIONS_KEYS = [
:adapter,
:consumer_key,
:consumer_secret,
:endpoint,
:format,
:oauth_token,
:oauth_token_secret,
:proxy,
:search_endpoint,
:user_agent].freeze

# An array of valid request/response formats
#
# @note Not all methods support the XML format.
VALID_FORMATS = [:json, :xml].freeze

# The adapter that will be used to connect if none is set
#
# @note The default faraday adapter is Net::HTTP.
DEFAULT_ADAPTER = Faraday.default_adapter.freeze

# By default, don't set an application key
DEFAULT_CONSUMER_KEY = nil.freeze

# By default, don't set an application secret
DEFAULT_CONSUMER_SECRET = nil.freeze

# By default, don't set a user oauth token
DEFAULT_OAUTH_TOKEN = nil.freeze

# By default, don't set a user oauth secret
DEFAULT_OAUTH_TOKEN_SECRET = nil.freeze

# The faraday adapter that will be used to connect if none is set
#
# @note The default faraday adapter is Net::HTTP.
DEFAULT_ADAPTER = Faraday.default_adapter.freeze

# The endpoint that will be used to connect if none is set
#
# @note This is configurable in case you want to use HTTP instead of HTTPS, specify a different API version, or use a Twitter-compatible endpoint.
Expand All @@ -38,26 +42,29 @@ module Configuration
# @see http://developer.typepad.com/typepad-twitter-api/twitter-api.html
DEFAULT_ENDPOINT = 'https://api.twitter.com/1/'.freeze

# The search endpoint that will be used to connect if none is set
#
# @note This is configurable in case you want to use HTTP instead of HTTPS or use a Twitter-compatible endpoint.
# @see http://status.net/wiki/Twitter-compatible_API
DEFAULT_SEARCH_ENDPOINT = 'https://search.twitter.com/'.freeze

# The response format appended to the path and sent in the 'Accept' header if none is set
#
# @note JSON is preferred over XML because it is more concise and faster to parse.
DEFAULT_FORMAT = :json.freeze

# By default, don't set a user oauth token
DEFAULT_OAUTH_TOKEN = nil.freeze

# By default, don't set a user oauth secret
DEFAULT_OAUTH_TOKEN_SECRET = nil.freeze

# By default, don't use a proxy server
DEFAULT_PROXY = nil.freeze

# The search endpoint that will be used to connect if none is set
#
# @note This is configurable in case you want to use HTTP instead of HTTPS or use a Twitter-compatible endpoint.
# @see http://status.net/wiki/Twitter-compatible_API
DEFAULT_SEARCH_ENDPOINT = 'https://search.twitter.com/'.freeze

# The user agent that will be sent to the API endpoint if none is set
DEFAULT_USER_AGENT = "Twitter Ruby Gem #{Twitter::VERSION}".freeze

# By default, don't set a screen name
DEFAULT_SCREEN_NAME = nil.freeze

# @private
attr_accessor *VALID_OPTIONS_KEYS

Expand All @@ -80,17 +87,16 @@ def options

# Reset all configuration options to defaults
def reset
self.adapter = DEFAULT_ADAPTER
self.consumer_key = DEFAULT_CONSUMER_KEY
self.consumer_secret = DEFAULT_CONSUMER_SECRET
self.oauth_token = DEFAULT_OAUTH_TOKEN
self.oauth_token_secret = DEFAULT_OAUTH_TOKEN_SECRET
self.adapter = DEFAULT_ADAPTER
self.endpoint = DEFAULT_ENDPOINT
self.format = DEFAULT_FORMAT
self.oauth_token = DEFAULT_OAUTH_TOKEN
self.oauth_token_secret = DEFAULT_OAUTH_TOKEN_SECRET
self.proxy = DEFAULT_PROXY
self.search_endpoint = DEFAULT_SEARCH_ENDPOINT
self.user_agent = DEFAULT_USER_AGENT
self.screen_name = DEFAULT_SCREEN_NAME
self
end
end
Expand Down
1 change: 0 additions & 1 deletion spec/twitter/api_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
:proxy => 'http://erik:[email protected]:8080',
:search_endpoint => 'http://google.com/',
:user_agent => 'Custom User Agent',
:screen_name => nil
}
end

Expand Down
1 change: 0 additions & 1 deletion spec/twitter/search_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
:proxy => 'http://erik:[email protected]:8080',
:search_endpoint => 'http://google.com/',
:user_agent => 'Custom User Agent',
:screen_name => nil
}
end

Expand Down

0 comments on commit ceeed99

Please sign in to comment.