twitterland 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +2 -2
- data/lib/twitterland.rb +2 -1
- data/lib/twitterland/mrtweet.rb +4 -4
- data/lib/twitterland/tweet_blocker.rb +20 -0
- data/test/fixtures/tweet_blocker_grade.json +1 -0
- data/test/fixtures/tweet_blocker_rate_limit_status.json +1 -0
- data/test/fixtures/tweet_blocker_spam.json +1 -0
- data/test/twitterland/tweet_blocker_test.rb +25 -0
- metadata +8 -2
data/VERSION.yml
CHANGED
data/lib/twitterland.rb
CHANGED
@@ -34,4 +34,5 @@ require File.join(directory, 'twitterland', 'follow_cost')
|
|
34
34
|
require File.join(directory, 'twitterland', 'twitter_counter')
|
35
35
|
require File.join(directory, 'twitterland', 'twinfluence')
|
36
36
|
require File.join(directory, 'twitterland', 'mrtweet')
|
37
|
-
require File.join(directory, 'twitterland', 'twitter_grader')
|
37
|
+
require File.join(directory, 'twitterland', 'twitter_grader')
|
38
|
+
require File.join(directory, 'twitterland', 'tweet_blocker')
|
data/lib/twitterland/mrtweet.rb
CHANGED
@@ -4,7 +4,7 @@ module Twitterland
|
|
4
4
|
base_uri 'api.mrtweet.com/v1'
|
5
5
|
format :json
|
6
6
|
|
7
|
-
attr_reader :is_user
|
7
|
+
attr_reader :is_user, :profile, :recommendations, :most_attention_towards
|
8
8
|
|
9
9
|
def initialize(api_key, username)
|
10
10
|
@username = username
|
@@ -22,19 +22,19 @@ module Twitterland
|
|
22
22
|
|
23
23
|
def profile
|
24
24
|
if is_user?
|
25
|
-
Mash.new(self.class.get("/profile/#{@username}/#{@api_key}.json")).profile
|
25
|
+
@profile ||= Mash.new(self.class.get("/profile/#{@username}/#{@api_key}.json")).profile
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
def recommendations
|
30
30
|
if is_user?
|
31
|
-
Mash.new(self.class.get("/recommendations/#{@username}/#{@api_key}.json")).recommendations
|
31
|
+
@recommendations ||= Mash.new(self.class.get("/recommendations/#{@username}/#{@api_key}.json")).recommendations
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
35
|
def most_attention_towards
|
36
36
|
if is_user?
|
37
|
-
Mash.new(self.class.get("/most_attention_towards/#{@username}/#{@api_key}.json")).most_attention_towards
|
37
|
+
@most_attention_towards ||= Mash.new(self.class.get("/most_attention_towards/#{@username}/#{@api_key}.json")).most_attention_towards
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Twitterland
|
2
|
+
class TweetBlocker
|
3
|
+
include HTTParty
|
4
|
+
base_uri 'http://tweetblocker.com/api'
|
5
|
+
format :json
|
6
|
+
|
7
|
+
def self.user(username)
|
8
|
+
@result ||= Mash.new(self.get("/username/#{username}.json")).user
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.report_spam(username)
|
12
|
+
status = Mash.new(self.get("/spam/#{username}.json"))
|
13
|
+
status['error'].blank? ? status : status['error']
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.rate_limit
|
17
|
+
@rate_limit = Mash.new(self.get("/user/rate_limit_status.json"))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"user":{"score":100,"grade":"a","url":"http:\/\/twitter.com\/bradleyjoyce","username":"Bradley Joyce"}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"reset_time_in_seconds":2885,"reset_time":"2009-08-11 22:16:39 UTC","remaining_hits":98,"hourly_limit":100}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"status":"user reported as spam"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class TweetBlockerTest < Test::Unit::TestCase
|
4
|
+
include Twitterland
|
5
|
+
|
6
|
+
context "Getting TweetBlocker info" do
|
7
|
+
should "get grade results" do
|
8
|
+
stub_get 'http://tweetblocker.com:80/api/username/bradleyjoyce.json', 'tweet_blocker_grade.json'
|
9
|
+
Twitterland::TweetBlocker.user("bradleyjoyce").score.should == 100
|
10
|
+
Twitterland::TweetBlocker.user("bradleyjoyce").grade.should == 'a'
|
11
|
+
Twitterland::TweetBlocker.user("bradleyjoyce").username.should =="Bradley Joyce"
|
12
|
+
end
|
13
|
+
|
14
|
+
should "report user as spammer" do
|
15
|
+
stub_get 'http://tweetblocker.com:80/api/spam/test.json', 'tweet_blocker_spam.json'
|
16
|
+
Twitterland::TweetBlocker.report_spam("test").status.should == "user reported as spam"
|
17
|
+
end
|
18
|
+
|
19
|
+
should "get rate limit status" do
|
20
|
+
stub_get 'http://tweetblocker.com:80/api/user/rate_limit_status.json', 'tweet_blocker_rate_limit_status.json'
|
21
|
+
Twitterland::TweetBlocker.rate_limit.reset_time_in_seconds.should == 2885
|
22
|
+
Twitterland::TweetBlocker.rate_limit.remaining_hits.should == 98
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitterland
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wynn Netherland
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-08-
|
13
|
+
date: 2009-08-11 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- lib/twitterland.rb
|
101
101
|
- lib/twitterland/follow_cost.rb
|
102
102
|
- lib/twitterland/mrtweet.rb
|
103
|
+
- lib/twitterland/tweet_blocker.rb
|
103
104
|
- lib/twitterland/twinfluence.rb
|
104
105
|
- lib/twitterland/twitter_counter.rb
|
105
106
|
- lib/twitterland/twitter_grader.rb
|
@@ -109,11 +110,15 @@ files:
|
|
109
110
|
- test/fixtures/mrtweet_profile.json
|
110
111
|
- test/fixtures/mrtweet_recommendations.json
|
111
112
|
- test/fixtures/mrtweet_success.json
|
113
|
+
- test/fixtures/tweet_blocker_grade.json
|
114
|
+
- test/fixtures/tweet_blocker_rate_limit_status.json
|
115
|
+
- test/fixtures/tweet_blocker_spam.json
|
112
116
|
- test/fixtures/twitter_counter.json
|
113
117
|
- test/fixtures/twitter_grader.json
|
114
118
|
- test/test_helper.rb
|
115
119
|
- test/twitterland/follow_cost_test.rb
|
116
120
|
- test/twitterland/mrtweet_test.rb
|
121
|
+
- test/twitterland/tweet_blocker_test.rb
|
117
122
|
- test/twitterland/twitter_counter_test.rb
|
118
123
|
- test/twitterland/twitter_grader_test.rb
|
119
124
|
has_rdoc: true
|
@@ -148,5 +153,6 @@ test_files:
|
|
148
153
|
- test/test_helper.rb
|
149
154
|
- test/twitterland/follow_cost_test.rb
|
150
155
|
- test/twitterland/mrtweet_test.rb
|
156
|
+
- test/twitterland/tweet_blocker_test.rb
|
151
157
|
- test/twitterland/twitter_counter_test.rb
|
152
158
|
- test/twitterland/twitter_grader_test.rb
|