twitter-userstream 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +31 -0
- data/Rakefile +0 -1
- data/Readme.rdoc +26 -26
- data/VERSION +1 -1
- data/lib/userstream/connect.rb +0 -16
- metadata +19 -86
data/Gemfile.lock
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
addressable (2.2.6)
|
5
|
+
callsite (0.0.4)
|
6
|
+
em-http-request (0.3.0)
|
7
|
+
addressable (>= 2.0.0)
|
8
|
+
escape_utils
|
9
|
+
eventmachine (>= 0.12.9)
|
10
|
+
escape_utils (0.2.3)
|
11
|
+
eventmachine (0.12.10)
|
12
|
+
growl (1.0.3)
|
13
|
+
json (1.5.1)
|
14
|
+
load_path_find (0.0.6)
|
15
|
+
callsite (>= 0.0.2)
|
16
|
+
oauth (0.4.4)
|
17
|
+
rainbow (1.1.1)
|
18
|
+
yajl-ruby (0.8.2)
|
19
|
+
|
20
|
+
PLATFORMS
|
21
|
+
ruby
|
22
|
+
|
23
|
+
DEPENDENCIES
|
24
|
+
em-http-request (>= 0.2.7)
|
25
|
+
eventmachine (>= 0.12.10)
|
26
|
+
growl
|
27
|
+
json
|
28
|
+
load_path_find (>= 0.0.5)
|
29
|
+
oauth (>= 0.4.0)
|
30
|
+
rainbow
|
31
|
+
yajl-ruby (>= 0.7.5)
|
data/Rakefile
CHANGED
data/Readme.rdoc
CHANGED
@@ -8,8 +8,8 @@ This is an experimental EventMachine-based client for http://userstream.twitter.
|
|
8
8
|
|
9
9
|
Fire up the growl client!
|
10
10
|
|
11
|
-
sudo gem install userstream
|
12
|
-
|
11
|
+
sudo gem install twitter-userstream
|
12
|
+
usr_stream_growl
|
13
13
|
|
14
14
|
Wow! It's growling my tweets! How meta.
|
15
15
|
|
@@ -19,35 +19,35 @@ Wow! It's growling my tweets! How meta.
|
|
19
19
|
require 'userstream'
|
20
20
|
require 'rainbow'
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
usr_stream = Userstream.new
|
23
|
+
usr_stream.on_reconnect{ puts "reconnecting..." }
|
24
|
+
usr_stream.on_tweet {|t, u| puts "#{t.text} (from #{t.user.name.foreground(:red)} (#{('@' + t.user.screen_name).foreground(:green)}))" }
|
25
|
+
usr_stream.on_follow {|t, u| puts "#{t.source.screen_name.foreground(:green)} following #{t.target.screen_name.foreground(:green)}" }
|
26
|
+
usr_stream.on_favorite {|t, u| puts "#{t.source.screen_name.foreground(:green)} <3 -> #{t.target_object.text}" }
|
27
|
+
usr_stream.on_retweet {|t, u| puts "#{t.source.screen_name.foreground(:green)} RT -> #{t.target_object.text}" }
|
28
|
+
usr_stream.on_direct_message {|t, u| puts "DM : #{t.text} (from #{t.sender.name.foreground(:red)} (#{('@' + t.sender.screen_name).foreground(:green)}))" }
|
29
|
+
usr_stream.connect(Userstream::Connect::User.basic('joshbuddy', 'xxxxxxxx'))
|
30
30
|
|
31
31
|
== Oauth Usage
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
33
|
+
usr_stream = Userstream.oauth(consumer_token, consumer_secret)
|
34
|
+
usr_stream.on_reconnect{ puts "reconnecting..." }
|
35
|
+
usr_stream.on_tweet {|t, u| puts "#{t.text} (from #{t.user.name.foreground(:red)} (#{('@' + t.user.screen_name).foreground(:green)}))" }
|
36
|
+
usr_stream.on_follow {|t, u| puts "#{t.source.screen_name.foreground(:green)} following #{t.target.screen_name.foreground(:green)}" }
|
37
|
+
usr_stream.on_favorite {|t, u| puts "#{t.source.screen_name.foreground(:green)} <3 -> #{t.target_object.text}" }
|
38
|
+
usr_stream.on_retweet {|t, u| puts "#{t.source.screen_name.foreground(:green)} RT -> #{t.target_object.text}" }
|
39
|
+
usr_stream.on_direct_message {|t, u| puts "DM : #{t.text} (from #{t.sender.name.foreground(:red)} (#{('@' + t.sender.screen_name).foreground(:green)}))" }
|
40
|
+
usr_stream.connect(Userstream::Connect::User.oauth(access_token, access_secret))
|
41
41
|
|
42
42
|
== Multi User Usage
|
43
43
|
|
44
|
-
|
44
|
+
usr_stream = Userstream.new(consumer_token, consumer_secret)
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
usr_stream.on_reconnect{ puts "reconnecting..." }
|
47
|
+
usr_stream.on_tweet {|t, u| puts "#{t.text} (from #{t.user.name.foreground(:red)} (#{('@' + t.user.screen_name).foreground(:green)}))" }
|
48
|
+
usr_stream.on_follow {|t, u| puts "#{t.source.screen_name.foreground(:green)} following #{t.target.screen_name.foreground(:green)}" }
|
49
|
+
usr_stream.on_favorite {|t, u| puts "#{t.source.screen_name.foreground(:green)} <3 -> #{t.target_object.text}" }
|
50
|
+
usr_stream.on_retweet {|t, u| puts "#{t.source.screen_name.foreground(:green)} RT -> #{t.target_object.text}" }
|
51
|
+
usr_stream.on_direct_message {|t, u| puts "DM : #{t.text} (from #{t.sender.name.foreground(:red)} (#{('@' + t.sender.screen_name).foreground(:green)}))" }
|
52
52
|
|
53
|
-
|
53
|
+
usr_stream.connect(Userstream::Connect::User.oauth(access_token1, access_secret1), Userstream::Connect::User.oauth(access_token2, access_secret2))
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/userstream/connect.rb
CHANGED
@@ -15,25 +15,9 @@ class Userstream
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
class Basic
|
19
|
-
attr_reader :name, :password
|
20
|
-
def initialize(name, password)
|
21
|
-
@name = name
|
22
|
-
@password = password
|
23
|
-
end
|
24
|
-
|
25
|
-
def oauth?
|
26
|
-
false
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
18
|
def self.oauth(access_token, access_secret, name = nil)
|
31
19
|
Oauth.new(access_token, access_secret, name)
|
32
20
|
end
|
33
|
-
|
34
|
-
def self.basic(name, password)
|
35
|
-
Basic.new(name, password)
|
36
|
-
end
|
37
21
|
end
|
38
22
|
|
39
23
|
def get_connection(user, url, method, extras = nil)
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter-userstream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 27
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 0.1.0
|
5
|
+
version: 0.1.1
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Joshua Hull
|
@@ -17,209 +12,151 @@ autorequire:
|
|
17
12
|
bindir: bin
|
18
13
|
cert_chain: []
|
19
14
|
|
20
|
-
date: 2011-05-14 00:00:00
|
15
|
+
date: 2011-05-14 00:00:00 -07:00
|
16
|
+
default_executable: chirp_growl
|
21
17
|
dependencies:
|
22
18
|
- !ruby/object:Gem::Dependency
|
23
19
|
name: eventmachine
|
24
|
-
prerelease: false
|
25
20
|
requirement: &id001 !ruby/object:Gem::Requirement
|
26
21
|
none: false
|
27
22
|
requirements:
|
28
23
|
- - ">="
|
29
24
|
- !ruby/object:Gem::Version
|
30
|
-
hash: 59
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
- 12
|
34
|
-
- 10
|
35
25
|
version: 0.12.10
|
36
26
|
type: :runtime
|
27
|
+
prerelease: false
|
37
28
|
version_requirements: *id001
|
38
29
|
- !ruby/object:Gem::Dependency
|
39
30
|
name: em-http-request
|
40
|
-
prerelease: false
|
41
31
|
requirement: &id002 !ruby/object:Gem::Requirement
|
42
32
|
none: false
|
43
33
|
requirements:
|
44
34
|
- - ">="
|
45
35
|
- !ruby/object:Gem::Version
|
46
|
-
hash: 25
|
47
|
-
segments:
|
48
|
-
- 0
|
49
|
-
- 2
|
50
|
-
- 7
|
51
36
|
version: 0.2.7
|
52
37
|
type: :runtime
|
38
|
+
prerelease: false
|
53
39
|
version_requirements: *id002
|
54
40
|
- !ruby/object:Gem::Dependency
|
55
41
|
name: yajl-ruby
|
56
|
-
prerelease: false
|
57
42
|
requirement: &id003 !ruby/object:Gem::Requirement
|
58
43
|
none: false
|
59
44
|
requirements:
|
60
45
|
- - ">="
|
61
46
|
- !ruby/object:Gem::Version
|
62
|
-
hash: 9
|
63
|
-
segments:
|
64
|
-
- 0
|
65
|
-
- 7
|
66
|
-
- 5
|
67
47
|
version: 0.7.5
|
68
48
|
type: :runtime
|
49
|
+
prerelease: false
|
69
50
|
version_requirements: *id003
|
70
51
|
- !ruby/object:Gem::Dependency
|
71
52
|
name: load_path_find
|
72
|
-
prerelease: false
|
73
53
|
requirement: &id004 !ruby/object:Gem::Requirement
|
74
54
|
none: false
|
75
55
|
requirements:
|
76
56
|
- - ">="
|
77
57
|
- !ruby/object:Gem::Version
|
78
|
-
hash: 21
|
79
|
-
segments:
|
80
|
-
- 0
|
81
|
-
- 0
|
82
|
-
- 5
|
83
58
|
version: 0.0.5
|
84
59
|
type: :runtime
|
60
|
+
prerelease: false
|
85
61
|
version_requirements: *id004
|
86
62
|
- !ruby/object:Gem::Dependency
|
87
63
|
name: oauth
|
88
|
-
prerelease: false
|
89
64
|
requirement: &id005 !ruby/object:Gem::Requirement
|
90
65
|
none: false
|
91
66
|
requirements:
|
92
67
|
- - ">="
|
93
68
|
- !ruby/object:Gem::Version
|
94
|
-
hash: 15
|
95
|
-
segments:
|
96
|
-
- 0
|
97
|
-
- 4
|
98
|
-
- 0
|
99
69
|
version: 0.4.0
|
100
70
|
type: :runtime
|
71
|
+
prerelease: false
|
101
72
|
version_requirements: *id005
|
102
73
|
- !ruby/object:Gem::Dependency
|
103
74
|
name: rainbow
|
104
|
-
prerelease: false
|
105
75
|
requirement: &id006 !ruby/object:Gem::Requirement
|
106
76
|
none: false
|
107
77
|
requirements:
|
108
78
|
- - ">="
|
109
79
|
- !ruby/object:Gem::Version
|
110
|
-
hash: 3
|
111
|
-
segments:
|
112
|
-
- 0
|
113
80
|
version: "0"
|
114
81
|
type: :runtime
|
82
|
+
prerelease: false
|
115
83
|
version_requirements: *id006
|
116
84
|
- !ruby/object:Gem::Dependency
|
117
85
|
name: growl
|
118
|
-
prerelease: false
|
119
86
|
requirement: &id007 !ruby/object:Gem::Requirement
|
120
87
|
none: false
|
121
88
|
requirements:
|
122
89
|
- - ">="
|
123
90
|
- !ruby/object:Gem::Version
|
124
|
-
hash: 3
|
125
|
-
segments:
|
126
|
-
- 0
|
127
91
|
version: "0"
|
128
92
|
type: :runtime
|
93
|
+
prerelease: false
|
129
94
|
version_requirements: *id007
|
130
95
|
- !ruby/object:Gem::Dependency
|
131
96
|
name: json
|
132
|
-
prerelease: false
|
133
97
|
requirement: &id008 !ruby/object:Gem::Requirement
|
134
98
|
none: false
|
135
99
|
requirements:
|
136
100
|
- - ">="
|
137
101
|
- !ruby/object:Gem::Version
|
138
|
-
hash: 3
|
139
|
-
segments:
|
140
|
-
- 0
|
141
102
|
version: "0"
|
142
103
|
type: :runtime
|
104
|
+
prerelease: false
|
143
105
|
version_requirements: *id008
|
144
106
|
- !ruby/object:Gem::Dependency
|
145
107
|
name: eventmachine
|
146
|
-
prerelease: false
|
147
108
|
requirement: &id009 !ruby/object:Gem::Requirement
|
148
109
|
none: false
|
149
110
|
requirements:
|
150
111
|
- - ">="
|
151
112
|
- !ruby/object:Gem::Version
|
152
|
-
hash: 59
|
153
|
-
segments:
|
154
|
-
- 0
|
155
|
-
- 12
|
156
|
-
- 10
|
157
113
|
version: 0.12.10
|
158
114
|
type: :runtime
|
115
|
+
prerelease: false
|
159
116
|
version_requirements: *id009
|
160
117
|
- !ruby/object:Gem::Dependency
|
161
118
|
name: em-http-request
|
162
|
-
prerelease: false
|
163
119
|
requirement: &id010 !ruby/object:Gem::Requirement
|
164
120
|
none: false
|
165
121
|
requirements:
|
166
122
|
- - ">="
|
167
123
|
- !ruby/object:Gem::Version
|
168
|
-
hash: 25
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
- 2
|
172
|
-
- 7
|
173
124
|
version: 0.2.7
|
174
125
|
type: :runtime
|
126
|
+
prerelease: false
|
175
127
|
version_requirements: *id010
|
176
128
|
- !ruby/object:Gem::Dependency
|
177
129
|
name: yajl-ruby
|
178
|
-
prerelease: false
|
179
130
|
requirement: &id011 !ruby/object:Gem::Requirement
|
180
131
|
none: false
|
181
132
|
requirements:
|
182
133
|
- - ">="
|
183
134
|
- !ruby/object:Gem::Version
|
184
|
-
hash: 9
|
185
|
-
segments:
|
186
|
-
- 0
|
187
|
-
- 7
|
188
|
-
- 5
|
189
135
|
version: 0.7.5
|
190
136
|
type: :runtime
|
137
|
+
prerelease: false
|
191
138
|
version_requirements: *id011
|
192
139
|
- !ruby/object:Gem::Dependency
|
193
140
|
name: load_path_find
|
194
|
-
prerelease: false
|
195
141
|
requirement: &id012 !ruby/object:Gem::Requirement
|
196
142
|
none: false
|
197
143
|
requirements:
|
198
144
|
- - ">="
|
199
145
|
- !ruby/object:Gem::Version
|
200
|
-
hash: 21
|
201
|
-
segments:
|
202
|
-
- 0
|
203
|
-
- 0
|
204
|
-
- 5
|
205
146
|
version: 0.0.5
|
206
147
|
type: :runtime
|
148
|
+
prerelease: false
|
207
149
|
version_requirements: *id012
|
208
150
|
- !ruby/object:Gem::Dependency
|
209
151
|
name: oauth
|
210
|
-
prerelease: false
|
211
152
|
requirement: &id013 !ruby/object:Gem::Requirement
|
212
153
|
none: false
|
213
154
|
requirements:
|
214
155
|
- - ">="
|
215
156
|
- !ruby/object:Gem::Version
|
216
|
-
hash: 15
|
217
|
-
segments:
|
218
|
-
- 0
|
219
|
-
- 4
|
220
|
-
- 0
|
221
157
|
version: 0.4.0
|
222
158
|
type: :runtime
|
159
|
+
prerelease: false
|
223
160
|
version_requirements: *id013
|
224
161
|
description: Eventmachine-based Twitter Userstream client
|
225
162
|
email: noah@involver.com
|
@@ -231,6 +168,7 @@ extra_rdoc_files: []
|
|
231
168
|
|
232
169
|
files:
|
233
170
|
- Gemfile
|
171
|
+
- Gemfile.lock
|
234
172
|
- Rakefile
|
235
173
|
- Readme.rdoc
|
236
174
|
- VERSION
|
@@ -249,6 +187,7 @@ files:
|
|
249
187
|
- lib/userstream/tweet.rb
|
250
188
|
- lib/userstream/twitter_object.rb
|
251
189
|
- lib/userstream/user.rb
|
190
|
+
has_rdoc: true
|
252
191
|
homepage: https://github.com/nhorton/twitter-userstream
|
253
192
|
licenses: []
|
254
193
|
|
@@ -262,23 +201,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
262
201
|
requirements:
|
263
202
|
- - ">="
|
264
203
|
- !ruby/object:Gem::Version
|
265
|
-
hash: 3
|
266
|
-
segments:
|
267
|
-
- 0
|
268
204
|
version: "0"
|
269
205
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
206
|
none: false
|
271
207
|
requirements:
|
272
208
|
- - ">="
|
273
209
|
- !ruby/object:Gem::Version
|
274
|
-
hash: 3
|
275
|
-
segments:
|
276
|
-
- 0
|
277
210
|
version: "0"
|
278
211
|
requirements: []
|
279
212
|
|
280
213
|
rubyforge_project:
|
281
|
-
rubygems_version: 1.
|
214
|
+
rubygems_version: 1.6.2
|
282
215
|
signing_key:
|
283
216
|
specification_version: 3
|
284
217
|
summary: Eventmachine-based Twitter Userstream client
|