jnunemaker-twitter 0.6.5 → 0.6.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History +8 -0
- data/VERSION.yml +1 -1
- data/examples/unauthorized.rb +16 -0
- data/lib/twitter/base.rb +2 -2
- data/lib/twitter/httpauth.rb +4 -3
- data/lib/twitter.rb +13 -0
- data/test/fixtures/status_show.json +1 -0
- data/test/twitter/httpauth_test.rb +20 -0
- data/test/twitter_test.rb +19 -0
- metadata +5 -2
data/History
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
0.6.6 - April 16, 2009
|
2
|
+
* 1 minor enhancement
|
3
|
+
* added ability to pass query parameters to user method
|
4
|
+
* httpauth can now accept :ssl option to use https instead of http
|
5
|
+
* Added Twitter.status method for no auth calls to fetch status
|
6
|
+
* Added Twitter.friend_ids method for no auth calls to fetch status
|
7
|
+
* Added Twitter.follower_ids method for no auth calls to fetch status
|
8
|
+
|
1
9
|
0.6.5 - April 15, 2009
|
2
10
|
* 1 bug fix
|
3
11
|
* fixed that friend_ids and follower_ids were bombing from trying to mash them. Added :mash option to Twitter::Request so I can specifically not mash certain responses from twitter
|
data/VERSION.yml
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '..', 'lib', 'twitter')
|
2
|
+
require 'pp'
|
3
|
+
|
4
|
+
puts 'User', '*'*50
|
5
|
+
pp Twitter.user('jnunemaker')
|
6
|
+
pp Twitter.user('snitch_test')
|
7
|
+
|
8
|
+
puts 'Status', '*'*50
|
9
|
+
pp Twitter.status(1533815199)
|
10
|
+
|
11
|
+
puts 'Friend Ids', '*'*50
|
12
|
+
pp Twitter.friend_ids('jnunemaker')
|
13
|
+
|
14
|
+
puts 'Follower Ids', '*'*50
|
15
|
+
pp Twitter.follower_ids('jnunemaker')
|
16
|
+
|
data/lib/twitter/base.rb
CHANGED
@@ -48,8 +48,8 @@ module Twitter
|
|
48
48
|
perform_get('/statuses/followers.json', :query => query)
|
49
49
|
end
|
50
50
|
|
51
|
-
def user(id)
|
52
|
-
perform_get("/users/show/#{id}.json")
|
51
|
+
def user(id, query={})
|
52
|
+
perform_get("/users/show/#{id}.json", :query => query)
|
53
53
|
end
|
54
54
|
|
55
55
|
# Options: since, since_id, page
|
data/lib/twitter/httpauth.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
module Twitter
|
2
2
|
class HTTPAuth
|
3
3
|
include HTTParty
|
4
|
-
base_uri 'http://twitter.com'
|
5
4
|
format :plain
|
6
5
|
|
7
|
-
attr_reader :username, :password
|
6
|
+
attr_reader :username, :password, :options
|
8
7
|
|
9
|
-
def initialize(username, password)
|
8
|
+
def initialize(username, password, options={})
|
10
9
|
@username, @password = username, password
|
10
|
+
@options = {:ssl => false}.merge(options)
|
11
|
+
self.class.base_uri "http#{'s' if options[:ssl]}://twitter.com"
|
11
12
|
end
|
12
13
|
|
13
14
|
def get(uri, headers={})
|
data/lib/twitter.rb
CHANGED
@@ -38,6 +38,19 @@ module Twitter
|
|
38
38
|
response = HTTParty.get("http://twitter.com/users/show/#{id}.json", :format => :json)
|
39
39
|
Mash.new(response)
|
40
40
|
end
|
41
|
+
|
42
|
+
def self.status(id)
|
43
|
+
response = HTTParty.get("http://twitter.com/statuses/show/#{id}.json", :format => :json)
|
44
|
+
Mash.new(response)
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.friend_ids(id)
|
48
|
+
HTTParty.get("http://twitter.com/friends/ids/#{id}.json", :format => :json)
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.follower_ids(id)
|
52
|
+
HTTParty.get("http://twitter.com/followers/ids/#{id}.json", :format => :json)
|
53
|
+
end
|
41
54
|
end
|
42
55
|
|
43
56
|
directory = File.dirname(__FILE__)
|
@@ -0,0 +1 @@
|
|
1
|
+
{"in_reply_to_screen_name":null,"user":{"profile_background_image_url":"http:\/\/static.twitter.com\/images\/themes\/theme9\/bg.gif","description":"Loves his wife, ruby, notre dame football and iu basketball","time_zone":"Indiana (East)","utc_offset":-18000,"friends_count":161,"profile_sidebar_border_color":"181A1E","following":false,"favourites_count":80,"notifications":false,"profile_background_color":"1A1B1F","url":"http:\/\/railstips.org\/about","name":"John Nunemaker","statuses_count":4771,"protected":false,"profile_background_tile":false,"profile_text_color":"666666","created_at":"Sun Aug 13 22:56:06 +0000 2006","profile_image_url":"http:\/\/s3.amazonaws.com\/twitter_production\/profile_images\/61024905\/black250_normal.jpg","profile_link_color":"2FC2EF","location":"Mishawaka, Indiana","screen_name":"jnunemaker","id":4243,"profile_sidebar_fill_color":"252429","followers_count":1252},"text":"Eating some oatmeal and butterscotch cookies with a cold glass of milk for breakfast. Tasty!","truncated":false,"in_reply_to_status_id":null,"created_at":"Thu Apr 16 14:12:36 +0000 2009","in_reply_to_user_id":null,"id":1533815199,"favorited":false,"source":"<a href=\"http:\/\/twitter.rubyforge.org\">Twitter App<\/a>"}
|
@@ -7,6 +7,26 @@ class HTTPAuthTest < Test::Unit::TestCase
|
|
7
7
|
twitter.username.should == 'username'
|
8
8
|
twitter.password.should == 'password'
|
9
9
|
end
|
10
|
+
|
11
|
+
should "accept options" do
|
12
|
+
twitter = Twitter::HTTPAuth.new('username', 'password', :ssl => true)
|
13
|
+
twitter.options.should == {:ssl => true}
|
14
|
+
end
|
15
|
+
|
16
|
+
should "default ssl to false" do
|
17
|
+
twitter = Twitter::HTTPAuth.new('username', 'password')
|
18
|
+
twitter.options[:ssl].should be(false)
|
19
|
+
end
|
20
|
+
|
21
|
+
should "use https if ssl is true" do
|
22
|
+
Twitter::HTTPAuth.expects(:base_uri).with('https://twitter.com')
|
23
|
+
twitter = Twitter::HTTPAuth.new('username', 'password', :ssl => true)
|
24
|
+
end
|
25
|
+
|
26
|
+
should "use http if ssl is false" do
|
27
|
+
Twitter::HTTPAuth.expects(:base_uri).with('http://twitter.com')
|
28
|
+
twitter = Twitter::HTTPAuth.new('username', 'password', :ssl => false)
|
29
|
+
end
|
10
30
|
end
|
11
31
|
|
12
32
|
context "Client methods" do
|
data/test/twitter_test.rb
CHANGED
@@ -16,4 +16,23 @@ class TwitterTest < Test::Unit::TestCase
|
|
16
16
|
user.name.should == 'John Nunemaker'
|
17
17
|
user.description.should == 'Loves his wife, ruby, notre dame football and iu basketball'
|
18
18
|
end
|
19
|
+
|
20
|
+
should "have status method for unauthenticated calls to get a status" do
|
21
|
+
stub_get('http://twitter.com:80/statuses/show/1533815199.json', 'status_show.json')
|
22
|
+
status = Twitter.status(1533815199)
|
23
|
+
status.id.should == 1533815199
|
24
|
+
status.text.should == 'Eating some oatmeal and butterscotch cookies with a cold glass of milk for breakfast. Tasty!'
|
25
|
+
end
|
26
|
+
|
27
|
+
should "have friend_ids method" do
|
28
|
+
stub_get('http://twitter.com:80/friends/ids/jnunemaker.json', 'friend_ids.json')
|
29
|
+
ids = Twitter.friend_ids('jnunemaker')
|
30
|
+
ids.size.should == 161
|
31
|
+
end
|
32
|
+
|
33
|
+
should "have follower_ids method" do
|
34
|
+
stub_get('http://twitter.com:80/followers/ids/jnunemaker.json', 'follower_ids.json')
|
35
|
+
ids = Twitter.follower_ids('jnunemaker')
|
36
|
+
ids.size.should == 1252
|
37
|
+
end
|
19
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jnunemaker-twitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Nunemaker
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-04-
|
12
|
+
date: 2009-04-16 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- examples/ids.rb
|
115
115
|
- examples/search.rb
|
116
116
|
- examples/timeline.rb
|
117
|
+
- examples/unauthorized.rb
|
117
118
|
- examples/update.rb
|
118
119
|
- examples/user.rb
|
119
120
|
- lib/twitter.rb
|
@@ -131,6 +132,7 @@ files:
|
|
131
132
|
- test/fixtures/search.json
|
132
133
|
- test/fixtures/search_from_jnunemaker.json
|
133
134
|
- test/fixtures/status.json
|
135
|
+
- test/fixtures/status_show.json
|
134
136
|
- test/fixtures/user.json
|
135
137
|
- test/fixtures/user_timeline.json
|
136
138
|
- test/test_helper.rb
|
@@ -181,5 +183,6 @@ test_files:
|
|
181
183
|
- examples/ids.rb
|
182
184
|
- examples/search.rb
|
183
185
|
- examples/timeline.rb
|
186
|
+
- examples/unauthorized.rb
|
184
187
|
- examples/update.rb
|
185
188
|
- examples/user.rb
|