From 0fc68f1c52e3b754194fe8a9cfbd9d4499eacbe1 Mon Sep 17 00:00:00 2001 From: Erik Michaels-Ober Date: Fri, 24 Sep 2010 11:04:35 -0700 Subject: [PATCH] Add user_agent methods to Base class --- lib/twitter.rb | 8 ++++++++ test/twitter_test.rb | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lib/twitter.rb b/lib/twitter.rb index ff5e7993f..d066725a6 100644 --- a/lib/twitter.rb +++ b/lib/twitter.rb @@ -24,6 +24,14 @@ class Unavailable < StandardError; end class InformTwitter < StandardError; end class NotFound < StandardError; end + def self.user_agent + @user_agent ||= 'Ruby Twitter Gem' + end + + def self.user_agent=(value) + @user_agent = value + end + def self.api_endpoint @api_endpoint ||= "api.twitter.com/#{self.api_version}" end diff --git a/test/twitter_test.rb b/test/twitter_test.rb index 6f367512f..0e9689031 100644 --- a/test/twitter_test.rb +++ b/test/twitter_test.rb @@ -1,6 +1,18 @@ require 'test_helper' class TwitterTest < Test::Unit::TestCase + + should "default User Agent to 'Ruby Twitter Gem'" do + assert_equal 'Ruby Twitter Gem', Twitter.user_agent + end + + context 'when overriding the user agent' do + should "be able to specify the User Agent" do + Twitter.user_agent = 'My Twitter Gem' + assert_equal 'My Twitter Gem', Twitter.user_agent + end + end + should "have firehose method for public timeline" do stub_get('http://api.twitter.com/1/statuses/public_timeline.json', 'firehose.json') hose = Twitter.firehose