twitter_oauth 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/twitter_oauth/user.rb +48 -3
  2. metadata +22 -2
@@ -2,14 +2,59 @@ module TwitterOAuth
2
2
  class Client
3
3
 
4
4
  # Returns the 100 last friends
5
+ # The page parameter is implemented for legacy reasons, but use of this is slow
6
+ # as passing page is no longer supported by the Twitter API as the use of cursors
7
+ # is now obligitory. It is recommended that you use all_friends instead
5
8
  def friends(page=1)
6
- get("/statuses/friends.json?page=#{page}")
9
+ return get("/statuses/friends.json?page=#{page}") if page == 1
10
+ users = []
11
+ cursor = "-1"
12
+ page.times do
13
+ return [] if cursor == 0
14
+ json = get("/statuses/friends.json?cursor=#{cursor}")
15
+ cursor = json["next_cursor"]
16
+ users = json["users"]
17
+ end
18
+ users
7
19
  end
20
+
21
+ # Returns all pages of friends
22
+ def all_friends
23
+ users = []
24
+ cursor = "-1"
25
+ while cursor != 0 do
26
+ json = get("/statuses/friends.json?cursor=#{cursor}")
27
+ cursor = json["next_cursor"]
28
+ users += json["users"]
29
+ end
30
+ users
31
+ end
8
32
 
9
33
  # Returns the 100 last followers
10
34
  def followers(page=1)
11
- get("/statuses/followers.json?page=#{page}")
35
+ return get("/statuses/followers.json?page=#{page}") if page == 1
36
+ users = []
37
+ cursor = "-1"
38
+ page.times do
39
+ return [] if cursor == 0
40
+ json = get("/statuses/followers.json?cursor=#{cursor}")
41
+ cursor = json["next_cursor"]
42
+ users = json["users"]
43
+ end
44
+ users
45
+ end
46
+
47
+ # Returns all pages of followers
48
+ def all_followers
49
+ users = []
50
+ cursor = "-1"
51
+ while cursor != 0 do
52
+ json = get("/statuses/followers.json?cursor=#{cursor}")
53
+ cursor = json["next_cursor"]
54
+ users += json["users"]
55
+ end
56
+ users
12
57
  end
13
-
58
+
14
59
  end
15
60
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Taylor
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-30 00:00:00 +00:00
12
+ date: 2010-02-22 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,6 +42,26 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: "1.16"
44
44
  version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: shoulda
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: mocha
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
45
65
  description: twitter_oauth is a Ruby library for talking to twitter using the new oauth method.
46
66
  email: moomerman@gmail.com
47
67
  executables: []