twitter_oauth 0.3.1 → 0.3.2

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.
@@ -1,15 +1,33 @@
1
1
  module TwitterOAuth
2
2
  class Client
3
3
 
4
- # unblock this user.
4
+ # Blocks the user specified in the ID parameter as the authenticating user.
5
+ # Destroys a friendship to the blocked user if it exists.
6
+ # Returns the blocked user in the requested format when successful.
5
7
  def block(id)
6
8
  post("/blocks/create/#{id}.json")
7
9
  end
8
10
 
9
- # block this user.
11
+ # Un-blocks the user specified in the ID parameter for the authenticating user.
12
+ # Returns the un-blocked user in the requested format when successful.
10
13
  def unblock(id)
11
14
  post("/blocks/destroy/#{id}.json")
12
15
  end
13
16
 
17
+ # Returns if the authenticating user is blocking a target user.
18
+ def blocked?(id)
19
+ get("/blocks/exists/#{id}.json")
20
+ end
21
+
22
+ # Returns an array of user objects that the authenticating user is blocking.
23
+ def blocking
24
+ get("/blocks/blocking.json")
25
+ end
26
+
27
+ # Returns an array of numeric user ids the authenticating user is blocking.
28
+ def blocking_ids
29
+ get("/blocks/blocking/ids.json")
30
+ end
31
+
14
32
  end
15
33
  end
@@ -11,6 +11,8 @@ require 'twitter_oauth/favorites'
11
11
  require 'twitter_oauth/utils'
12
12
  require 'twitter_oauth/trends'
13
13
  require 'twitter_oauth/lists'
14
+ require 'twitter_oauth/saved_searches'
15
+ require 'twitter_oauth/spam'
14
16
 
15
17
  module TwitterOAuth
16
18
  class Client
@@ -31,26 +33,16 @@ module TwitterOAuth
31
33
  @secret = @access_token.secret
32
34
  @access_token
33
35
  end
34
-
35
- def get(url)
36
- oauth_response = access_token.get(url)
37
- JSON.parse(oauth_response.body)
38
- end
39
-
40
- def post(url, body = '', headers = {})
41
- oauth_response = access_token.post(url, body, headers)
42
- JSON.parse(oauth_response.body)
43
- end
44
-
45
- def delete(url)
46
- oauth_response = access_token.delete(url)
47
- JSON.parse(oauth_response.body)
48
- end
49
36
 
50
37
  def show(username)
51
38
  get("/users/show/#{username}.json")
52
39
  end
53
40
 
41
+ # Returns the string "ok" in the requested format with a 200 OK HTTP status code.
42
+ def test
43
+ get("/help/test.json")
44
+ end
45
+
54
46
  def request_token(options={})
55
47
  consumer.get_request_token(options)
56
48
  end
@@ -72,6 +64,21 @@ module TwitterOAuth
72
64
  def access_token
73
65
  @access_token ||= OAuth::AccessToken.new(consumer, @token, @secret)
74
66
  end
67
+
68
+ def get(url)
69
+ oauth_response = access_token.get(url)
70
+ JSON.parse(oauth_response.body)
71
+ end
72
+
73
+ def post(url, body = '', headers = {})
74
+ oauth_response = access_token.post(url, body, headers)
75
+ JSON.parse(oauth_response.body)
76
+ end
77
+
78
+ def delete(url)
79
+ oauth_response = access_token.delete(url)
80
+ JSON.parse(oauth_response.body)
81
+ end
75
82
  end
76
83
  end
77
84
 
@@ -1,14 +1,19 @@
1
1
  module TwitterOAuth
2
2
  class Client
3
3
 
4
+ # Returns the 20 most recent favorite statuses for the authenticating user or user specified by the ID parameter.
4
5
  def favorites(page=1)
5
6
  get("/favorites.json?page=#{page}")
6
7
  end
7
8
 
9
+ # Favorites the status specified in the ID parameter as the authenticating user.
10
+ # Returns the favorite status when successful.
8
11
  def favorite
9
12
  post("/favorites/create/#{id}.json")
10
13
  end
11
14
 
15
+ # Un-favorites the status specified in the ID parameter as the authenticating user.
16
+ # Returns the un-favorited status when successful.
12
17
  def unfavorite
13
18
  post("/favorites/destroy/#{id}.json")
14
19
  end
@@ -1,31 +1,39 @@
1
1
  module TwitterOAuth
2
2
  class Client
3
3
 
4
+ # Returns an array of numeric IDs for every user the specified user is following.
4
5
  def friends_ids(options={})
5
6
  args = options.map{|k,v| "#{k}=#{v}"}.join('&')
6
7
  get("/friends/ids.json?#{args}")
7
8
  end
8
9
 
10
+ # Returns an array of numeric IDs for every user following the specified user.
9
11
  def followers_ids(options={})
10
12
  args = options.map{|k,v| "#{k}=#{v}"}.join('&')
11
13
  get("/followers/ids.json?#{args}")
12
14
  end
13
15
 
14
- # friend this user.
16
+ # Allows the authenticating user to follow the specified user. Returns the befriended user when successful.
15
17
  def friend(id)
16
18
  post("/friendships/create/#{id}.json")
17
19
  end
18
20
 
19
- # unfriend.
21
+ # Allows the authenticating users to unfollow the specified user. Returns the unfollowed user when successful.
20
22
  def unfriend(id)
21
23
  post("/friendships/destroy/#{id}.json")
22
24
  end
23
25
 
24
- # exists?.
25
- def exists?(a, b)
26
+ # Tests for the existence of friendship between two users. Will return true if user_a follows user_b, otherwise will return false.
27
+ # You are better off using get_friendship as it returns more extended information.
28
+ def friends?(a, b)
26
29
  oauth_response = access_token.get("/friendships/exists.json?user_a=#{a}&user_b=#{b}")
27
30
  oauth_response.body.strip == 'true'
28
31
  end
29
32
 
33
+ # Returns detailed information about the relationship between two users.
34
+ def get_friendship(a, b)
35
+ get("/friendships/show.json?source_screen_name=#{a}&target_screen_name=#{b}")
36
+ end
37
+
30
38
  end
31
39
  end
@@ -1,12 +1,14 @@
1
1
  module TwitterOAuth
2
2
  class Client
3
3
 
4
- # follow this user.
4
+ # Enables device notifications for updates from the specified user.
5
+ # Returns the specified user when successful.
5
6
  def follow(id)
6
7
  post("/notifications/follow/#{id}.json")
7
8
  end
8
9
 
9
- # unfollow.
10
+ # Disables notifications for updates from the specified user to the authenticating user.
11
+ # Returns the specified user when successful.
10
12
  def leave(id)
11
13
  post("/notifications/leave/#{id}.json")
12
14
  end
@@ -0,0 +1,24 @@
1
+ module TwitterOAuth
2
+ class Client
3
+
4
+ # Returns the authenticated user's saved search queries.
5
+ def saved_searches
6
+ get("/saved_searches.json")
7
+ end
8
+
9
+ # Retrieve the data for a saved search owned by the authenticating user specified by the given id.
10
+ def get_saved_search(search_id)
11
+ get("/saved_searches/show/#{search_id}.json")
12
+ end
13
+
14
+ # Creates a saved search for the authenticated user.
15
+ def create_saved_search(query)
16
+ post("/saved_searches/create.json", :query => query)
17
+ end
18
+
19
+ def delete_saved_search(search_id)
20
+ post("/saved_searches/destroy/#{search_id}.json")
21
+ end
22
+
23
+ end
24
+ end
@@ -6,27 +6,29 @@ module TwitterOAuth
6
6
  def search(q, options={})
7
7
  options[:page] ||= 1
8
8
  options[:per_page] ||= 20
9
- search_get("http://search.twitter.com/search.json?q=#{URI.escape(q)}&page=#{options[:page]}&rpp=#{options[:per_page]}&since_id=#{options[:since_id]}")
9
+ options[:q] = URI.escape(q)
10
+ args = options.map{|k,v| "#{k}=#{v}"}.join('&')
11
+ search_get("/search.json?#{args}")
10
12
  end
11
13
 
12
14
  # Returns the current top 10 trending topics on Twitter.
13
15
  def current_trends
14
- search_get("http://search.twitter.com/trends/current.json")
16
+ search_get("/trends/current.json")
15
17
  end
16
18
 
17
19
  # Returns the top 20 trending topics for each hour in a given day.
18
20
  def daily_trends
19
- search_get("http://search.twitter.com/trends/daily.json")
21
+ search_get("/trends/daily.json")
20
22
  end
21
23
 
22
24
  # Returns the top 30 trending topics for each day in a given week.
23
25
  def weekly_trends
24
- search_get("http://search.twitter.com/trends/weekly.json")
26
+ search_get("/trends/weekly.json")
25
27
  end
26
28
 
27
29
  private
28
- def search_get(url)
29
- response = open(url, 'User-Agent' => 'github.com/moomerman/twitter_outh')
30
+ def search_get(path)
31
+ response = open('http://search.twitter.com' + path, 'User-Agent' => 'github.com/moomerman/twitter_outh')
30
32
  JSON.parse(response.read)
31
33
  end
32
34
  end
@@ -0,0 +1,10 @@
1
+ module TwitterOAuth
2
+ class Client
3
+
4
+ # The user specified in the id is blocked by the authenticated user and reported as a spammer.
5
+ def report_spam(user)
6
+ post("/report_spam.json", :id => user)
7
+ end
8
+
9
+ end
10
+ end
@@ -6,5 +6,20 @@ module TwitterOAuth
6
6
  get("/trends.json")
7
7
  end
8
8
 
9
+ # Returns the locations that Twitter has trending topic information for.
10
+ # The response is an array of "locations" that encode the location's WOEID (a Yahoo! Where On Earth ID)
11
+ # and some other human-readable information such as a canonical name and country the location belongs in.
12
+ def trends_available
13
+ get("/trends/available.json")
14
+ end
15
+
16
+ # Returns the top 10 trending topics for a specific location Twitter has trending topic information for.
17
+ # The response is an array of "trend" objects that encode the name of the trending topic, the query
18
+ # parameter that can be used to search for the topic on Search, and the direct URL that can be issued against Search.
19
+ # This information is cached for five minutes, and therefore users are discouraged from querying these endpoints
20
+ # faster than once every five minutes. Global trends information is also available from this API by using a WOEID of 1.
21
+ def trends_for_location(woeid)
22
+ get("/trends/woeid.json")
23
+ end
9
24
  end
10
25
  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.1
4
+ version: 0.3.2
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-03-20 00:00:00 +00:00
12
+ date: 2009-12-30 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -61,7 +61,9 @@ files:
61
61
  - lib/twitter_oauth/friendships.rb
62
62
  - lib/twitter_oauth/lists.rb
63
63
  - lib/twitter_oauth/notifications.rb
64
+ - lib/twitter_oauth/saved_searches.rb
64
65
  - lib/twitter_oauth/search.rb
66
+ - lib/twitter_oauth/spam.rb
65
67
  - lib/twitter_oauth/status.rb
66
68
  - lib/twitter_oauth/timeline.rb
67
69
  - lib/twitter_oauth/trends.rb