tweetstream 1.1.5 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of tweetstream might be problematic. Click here for more details.
- data/CHANGELOG.md +19 -2
- data/LICENSE.md +1 -1
- data/README.md +116 -43
- data/Rakefile +0 -2
- data/examples/growl_daemon.rb +5 -5
- data/examples/oauth.rb +4 -5
- data/examples/sitestream.rb +40 -0
- data/examples/userstream.rb +4 -5
- data/lib/tweetstream.rb +0 -4
- data/lib/tweetstream/client.rb +95 -75
- data/lib/tweetstream/configuration.rb +12 -5
- data/lib/tweetstream/site_stream_client.rb +123 -0
- data/lib/tweetstream/version.rb +1 -1
- data/spec/fixtures/ids.json +30 -0
- data/spec/fixtures/info.json +18 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/tweetstream/client_spec.rb +172 -65
- data/spec/tweetstream/site_stream_client_spec.rb +232 -0
- data/spec/tweetstream_spec.rb +18 -18
- data/tweetstream.gemspec +9 -5
- metadata +69 -90
- data/lib/tweetstream/direct_message.rb +0 -6
- data/lib/tweetstream/hash.rb +0 -27
- data/lib/tweetstream/status.rb +0 -12
- data/lib/tweetstream/user.rb +0 -7
- data/spec/tweetstream/direct_message_spec.rb +0 -21
- data/spec/tweetstream/hash_spec.rb +0 -19
- data/spec/tweetstream/parser_spec.rb +0 -42
- data/spec/tweetstream/status_spec.rb +0 -15
@@ -0,0 +1,232 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe TweetStream::SiteStreamClient do
|
4
|
+
before do
|
5
|
+
@keys = TweetStream::Configuration::OAUTH_OPTIONS_KEYS
|
6
|
+
end
|
7
|
+
|
8
|
+
describe 'initialization' do
|
9
|
+
context 'with module configuration' do
|
10
|
+
|
11
|
+
before do
|
12
|
+
TweetStream.configure do |config|
|
13
|
+
@keys.each do |key|
|
14
|
+
config.send("#{key}=", key)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
after do
|
20
|
+
TweetStream.reset
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should inherit module configuration" do
|
24
|
+
api = TweetStream::SiteStreamClient.new('/config_uri')
|
25
|
+
@keys.each do |key|
|
26
|
+
api.send(key).should == key
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'with class configuration' do
|
32
|
+
before do
|
33
|
+
@configuration = {
|
34
|
+
:consumer_key => 'CK',
|
35
|
+
:consumer_secret => 'CS',
|
36
|
+
:oauth_token => 'AT',
|
37
|
+
:oauth_token_secret => 'AS'
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
context "during initialization" do
|
42
|
+
it "should override module configuration" do
|
43
|
+
api = TweetStream::SiteStreamClient.new('/config_uri', @configuration)
|
44
|
+
@keys.each do |key|
|
45
|
+
api.send(key).should == @configuration[key]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context "after initilization" do
|
51
|
+
it "should override module configuration after initialization" do
|
52
|
+
api = TweetStream::SiteStreamClient.new('/config_uri')
|
53
|
+
@configuration.each do |key, value|
|
54
|
+
api.send("#{key}=", value)
|
55
|
+
end
|
56
|
+
@keys.each do |key|
|
57
|
+
api.send(key).should == @configuration[key]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe '#on_error' do
|
65
|
+
it 'stores the on_error proc' do
|
66
|
+
@client = TweetStream::SiteStreamClient.new('/config_uri')
|
67
|
+
@client.on_error { puts 'hi' }
|
68
|
+
@client.on_error.should be_kind_of(Proc)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe '#info' do
|
73
|
+
context 'success' do
|
74
|
+
it 'returns the information hash' do
|
75
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5f'
|
76
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
77
|
+
|
78
|
+
stub_request(:get, "https://sitestream.twitter.com#{@config_uri}/info.json").
|
79
|
+
to_return(:status => 200, :body => fixture('info.json'), :headers => {})
|
80
|
+
stream_info = nil
|
81
|
+
|
82
|
+
EM.run_block do
|
83
|
+
@client.info { |info| stream_info = info}
|
84
|
+
end
|
85
|
+
stream_info.should be_kind_of(Hash)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context 'failure' do
|
90
|
+
it 'invokes the on_error callback' do
|
91
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5g'
|
92
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
93
|
+
|
94
|
+
stub_request(:get, "https://sitestream.twitter.com#{@config_uri}/info.json").
|
95
|
+
to_return(:status => 401, :body => '', :headers => {})
|
96
|
+
called = false
|
97
|
+
|
98
|
+
EM.run_block do
|
99
|
+
@client.on_error { called = true }
|
100
|
+
@client.info { |info| info }
|
101
|
+
end
|
102
|
+
called.should be_true
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
describe '#add_user' do
|
108
|
+
context 'success' do
|
109
|
+
it 'calls a block (if passed one)' do
|
110
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5f'
|
111
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
112
|
+
|
113
|
+
stub_request(:post, "https://sitestream.twitter.com#{@config_uri}/add_user.json").
|
114
|
+
to_return(:status => 200, :body => '', :headers => {})
|
115
|
+
called = false
|
116
|
+
|
117
|
+
EM.run_block do
|
118
|
+
@client.add_user(12345) { called = true }
|
119
|
+
end
|
120
|
+
called.should be_true
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'failure' do
|
125
|
+
it 'invokes the on_error callback' do
|
126
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5g'
|
127
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
128
|
+
|
129
|
+
stub_request(:post, "https://sitestream.twitter.com#{@config_uri}/add_user.json").
|
130
|
+
to_return(:status => 401, :body => '', :headers => {})
|
131
|
+
called = false
|
132
|
+
|
133
|
+
EM.run_block do
|
134
|
+
@client.on_error { called = true }
|
135
|
+
@client.add_user(12345) { |info| info }
|
136
|
+
end
|
137
|
+
called.should be_true
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
it 'accepts an array of user_ids' do
|
142
|
+
@client = TweetStream::SiteStreamClient.new('/config_uri')
|
143
|
+
conn = stub('Connection')
|
144
|
+
conn.should_receive(:post).
|
145
|
+
with(:path => '/config_uri/add_user.json', :body => { 'user_id' => '1234,5678' }).
|
146
|
+
and_return(FakeHttp.new)
|
147
|
+
@client.stub(:connection) { conn }
|
148
|
+
@client.add_user(['1234','5678'])
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
describe '#remove_user' do
|
153
|
+
context 'success' do
|
154
|
+
it 'calls a block (if passed one)' do
|
155
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5f'
|
156
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
157
|
+
|
158
|
+
stub_request(:post, "https://sitestream.twitter.com#{@config_uri}/remove_user.json").
|
159
|
+
to_return(:status => 200, :body => '', :headers => {})
|
160
|
+
called = false
|
161
|
+
|
162
|
+
EM.run_block do
|
163
|
+
@client.remove_user(12345) { called = true }
|
164
|
+
end
|
165
|
+
called.should be_true
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
context 'failure' do
|
170
|
+
it 'invokes the on_error callback' do
|
171
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5g'
|
172
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
173
|
+
|
174
|
+
stub_request(:post, "https://sitestream.twitter.com#{@config_uri}/remove_user.json").
|
175
|
+
to_return(:status => 401, :body => '', :headers => {})
|
176
|
+
called = false
|
177
|
+
|
178
|
+
EM.run_block do
|
179
|
+
@client.on_error { called = true }
|
180
|
+
@client.remove_user(12345) { |info| info }
|
181
|
+
end
|
182
|
+
called.should be_true
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
it 'accepts an array of user_ids' do
|
187
|
+
@client = TweetStream::SiteStreamClient.new('/config_uri')
|
188
|
+
conn = stub('Connection')
|
189
|
+
conn.should_receive(:post).
|
190
|
+
with(:path => '/config_uri/remove_user.json', :body => { 'user_id' => '1234,5678' }).
|
191
|
+
and_return(FakeHttp.new)
|
192
|
+
@client.stub(:connection) { conn }
|
193
|
+
@client.remove_user(['1234','5678'])
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
describe '#friends_ids' do
|
198
|
+
context 'success' do
|
199
|
+
it 'returns the information hash' do
|
200
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5f'
|
201
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
202
|
+
|
203
|
+
stub_request(:post, "https://sitestream.twitter.com#{@config_uri}/friends/ids.json").
|
204
|
+
to_return(:status => 200, :body => fixture('ids.json'), :headers => {})
|
205
|
+
stream_info = nil
|
206
|
+
|
207
|
+
EM.run_block do
|
208
|
+
@client.friends_ids(12345) { |info| stream_info = info }
|
209
|
+
end
|
210
|
+
stream_info.should be_kind_of(Hash)
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
context 'failure' do
|
215
|
+
it 'invokes the on_error callback' do
|
216
|
+
@config_uri = '/2b/site/c/1_1_54e345d655ee3e8df359ac033648530bfbe26c5g'
|
217
|
+
@client = TweetStream::SiteStreamClient.new(@config_uri)
|
218
|
+
|
219
|
+
stub_request(:post, "https://sitestream.twitter.com#{@config_uri}/friends/ids.json").
|
220
|
+
to_return(:status => 401, :body => '', :headers => {})
|
221
|
+
called = false
|
222
|
+
|
223
|
+
EM.run_block do
|
224
|
+
@client.on_error { called = true }
|
225
|
+
@client.friends_ids(12345) { |info| info }
|
226
|
+
end
|
227
|
+
called.should be_true
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
end
|
data/spec/tweetstream_spec.rb
CHANGED
@@ -7,23 +7,24 @@ describe TweetStream do
|
|
7
7
|
|
8
8
|
context "when delegating to a client" do
|
9
9
|
before do
|
10
|
-
@stream = stub("Twitter::
|
10
|
+
@stream = stub("EM::Twitter::Client",
|
11
11
|
:connect => true,
|
12
12
|
:unbind => true,
|
13
13
|
:each_item => true,
|
14
14
|
:on_error => true,
|
15
15
|
:on_max_reconnects => true,
|
16
16
|
:on_reconnect => true,
|
17
|
-
:connection_completed => true
|
17
|
+
:connection_completed => true,
|
18
|
+
:on_no_data_received => true
|
18
19
|
)
|
19
20
|
EM.stub!(:run).and_yield
|
20
|
-
Twitter::
|
21
|
+
EM::Twitter::Client.stub!(:connect).and_return(@stream)
|
21
22
|
end
|
22
23
|
|
23
24
|
it "should return the same results as a client" do
|
24
25
|
MultiJson.should_receive(:decode).and_return({})
|
25
|
-
@stream.should_receive(:
|
26
|
-
TweetStream.track('abc','def')
|
26
|
+
@stream.should_receive(:each).and_yield(sample_tweets[0].to_json)
|
27
|
+
TweetStream.track('abc','def')
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
@@ -39,19 +40,6 @@ describe TweetStream do
|
|
39
40
|
end
|
40
41
|
end
|
41
42
|
|
42
|
-
describe ".parser" do
|
43
|
-
it "should return the default parser" do
|
44
|
-
TweetStream.parser.should == TweetStream::Configuration::DEFAULT_PARSER
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
describe ".parser=" do
|
49
|
-
it "should set the adapter" do
|
50
|
-
TweetStream.parser = :yajl
|
51
|
-
TweetStream.parser.should == :yajl
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
43
|
describe ".username" do
|
56
44
|
it "should return the default username" do
|
57
45
|
TweetStream.username.should == TweetStream::Configuration::DEFAULT_USERNAME
|
@@ -115,4 +103,16 @@ describe TweetStream do
|
|
115
103
|
end
|
116
104
|
end
|
117
105
|
|
106
|
+
describe '.options' do
|
107
|
+
it 'returns the configuration as a hash' do
|
108
|
+
TweetStream.options.should be_kind_of(Hash)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe '.oauth_options' do
|
113
|
+
it 'returns the oauth configuration as a hash' do
|
114
|
+
TweetStream.oauth_options.should be_kind_of(Hash)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
118
|
end
|
data/tweetstream.gemspec
CHANGED
@@ -11,18 +11,22 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = %q{TweetStream is a simple wrapper for consuming the Twitter Streaming API.}
|
12
12
|
s.homepage = 'http://github.com/intridea/tweetstream'
|
13
13
|
|
14
|
-
s.add_dependency 'twitter
|
14
|
+
s.add_dependency 'em-twitter', '~> 0.1'
|
15
|
+
s.add_dependency 'twitter', '~> 2.2'
|
15
16
|
s.add_dependency 'daemons', '~> 1.1'
|
16
17
|
s.add_dependency 'multi_json', '~> 1.3'
|
18
|
+
s.add_dependency 'em-http-request', '~> 1.0.2'
|
17
19
|
|
20
|
+
s.add_development_dependency 'guard-rspec'
|
21
|
+
s.add_development_dependency 'json'
|
22
|
+
s.add_development_dependency 'pry'
|
18
23
|
s.add_development_dependency 'rake'
|
19
|
-
s.add_development_dependency 'simplecov'
|
20
|
-
s.add_development_dependency 'yard'
|
21
24
|
s.add_development_dependency 'rdiscount'
|
22
25
|
s.add_development_dependency 'rspec'
|
26
|
+
s.add_development_dependency 'simplecov'
|
27
|
+
s.add_development_dependency 'webmock'
|
23
28
|
s.add_development_dependency 'yajl-ruby'
|
24
|
-
s.add_development_dependency '
|
25
|
-
s.add_development_dependency 'guard-rspec'
|
29
|
+
s.add_development_dependency 'yard'
|
26
30
|
|
27
31
|
s.files = `git ls-files`.split("\n")
|
28
32
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tweetstream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,49 +10,44 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-06-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name: twitter
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
name: em-twitter
|
17
|
+
requirement: &70257167536020 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 0.1.14
|
23
|
-
- - <
|
20
|
+
- - ~>
|
24
21
|
- !ruby/object:Gem::Version
|
25
|
-
version: '1'
|
22
|
+
version: '0.1'
|
26
23
|
type: :runtime
|
27
24
|
prerelease: false
|
28
|
-
version_requirements:
|
29
|
-
none: false
|
30
|
-
requirements:
|
31
|
-
- - ! '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.14
|
34
|
-
- - <
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: '1'
|
25
|
+
version_requirements: *70257167536020
|
37
26
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
39
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
name: twitter
|
28
|
+
requirement: &70257167535420 !ruby/object:Gem::Requirement
|
40
29
|
none: false
|
41
30
|
requirements:
|
42
31
|
- - ~>
|
43
32
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
33
|
+
version: '2.2'
|
45
34
|
type: :runtime
|
46
35
|
prerelease: false
|
47
|
-
version_requirements:
|
36
|
+
version_requirements: *70257167535420
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: daemons
|
39
|
+
requirement: &70257167534760 !ruby/object:Gem::Requirement
|
48
40
|
none: false
|
49
41
|
requirements:
|
50
42
|
- - ~>
|
51
43
|
- !ruby/object:Gem::Version
|
52
44
|
version: '1.1'
|
45
|
+
type: :runtime
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70257167534760
|
53
48
|
- !ruby/object:Gem::Dependency
|
54
49
|
name: multi_json
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirement: &70257167534140 !ruby/object:Gem::Requirement
|
56
51
|
none: false
|
57
52
|
requirements:
|
58
53
|
- - ~>
|
@@ -60,15 +55,21 @@ dependencies:
|
|
60
55
|
version: '1.3'
|
61
56
|
type: :runtime
|
62
57
|
prerelease: false
|
63
|
-
version_requirements:
|
58
|
+
version_requirements: *70257167534140
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: em-http-request
|
61
|
+
requirement: &70257167533360 !ruby/object:Gem::Requirement
|
64
62
|
none: false
|
65
63
|
requirements:
|
66
64
|
- - ~>
|
67
65
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
66
|
+
version: 1.0.2
|
67
|
+
type: :runtime
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *70257167533360
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
name: guard-rspec
|
72
|
+
requirement: &70257167532700 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
73
74
|
requirements:
|
74
75
|
- - ! '>='
|
@@ -76,15 +77,10 @@ dependencies:
|
|
76
77
|
version: '0'
|
77
78
|
type: :development
|
78
79
|
prerelease: false
|
79
|
-
version_requirements:
|
80
|
-
none: false
|
81
|
-
requirements:
|
82
|
-
- - ! '>='
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: '0'
|
80
|
+
version_requirements: *70257167532700
|
85
81
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
87
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
name: json
|
83
|
+
requirement: &70257167538780 !ruby/object:Gem::Requirement
|
88
84
|
none: false
|
89
85
|
requirements:
|
90
86
|
- - ! '>='
|
@@ -92,15 +88,10 @@ dependencies:
|
|
92
88
|
version: '0'
|
93
89
|
type: :development
|
94
90
|
prerelease: false
|
95
|
-
version_requirements:
|
96
|
-
none: false
|
97
|
-
requirements:
|
98
|
-
- - ! '>='
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version: '0'
|
91
|
+
version_requirements: *70257167538780
|
101
92
|
- !ruby/object:Gem::Dependency
|
102
|
-
name:
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
name: pry
|
94
|
+
requirement: &70257167515140 !ruby/object:Gem::Requirement
|
104
95
|
none: false
|
105
96
|
requirements:
|
106
97
|
- - ! '>='
|
@@ -108,15 +99,21 @@ dependencies:
|
|
108
99
|
version: '0'
|
109
100
|
type: :development
|
110
101
|
prerelease: false
|
111
|
-
version_requirements:
|
102
|
+
version_requirements: *70257167515140
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: rake
|
105
|
+
requirement: &70257167514640 !ruby/object:Gem::Requirement
|
112
106
|
none: false
|
113
107
|
requirements:
|
114
108
|
- - ! '>='
|
115
109
|
- !ruby/object:Gem::Version
|
116
110
|
version: '0'
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: *70257167514640
|
117
114
|
- !ruby/object:Gem::Dependency
|
118
115
|
name: rdiscount
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirement: &70257167514040 !ruby/object:Gem::Requirement
|
120
117
|
none: false
|
121
118
|
requirements:
|
122
119
|
- - ! '>='
|
@@ -124,15 +121,10 @@ dependencies:
|
|
124
121
|
version: '0'
|
125
122
|
type: :development
|
126
123
|
prerelease: false
|
127
|
-
version_requirements:
|
128
|
-
none: false
|
129
|
-
requirements:
|
130
|
-
- - ! '>='
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
124
|
+
version_requirements: *70257167514040
|
133
125
|
- !ruby/object:Gem::Dependency
|
134
126
|
name: rspec
|
135
|
-
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirement: &70257167513580 !ruby/object:Gem::Requirement
|
136
128
|
none: false
|
137
129
|
requirements:
|
138
130
|
- - ! '>='
|
@@ -140,15 +132,10 @@ dependencies:
|
|
140
132
|
version: '0'
|
141
133
|
type: :development
|
142
134
|
prerelease: false
|
143
|
-
version_requirements:
|
144
|
-
none: false
|
145
|
-
requirements:
|
146
|
-
- - ! '>='
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
version: '0'
|
135
|
+
version_requirements: *70257167513580
|
149
136
|
- !ruby/object:Gem::Dependency
|
150
|
-
name:
|
151
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
name: simplecov
|
138
|
+
requirement: &70257167513160 !ruby/object:Gem::Requirement
|
152
139
|
none: false
|
153
140
|
requirements:
|
154
141
|
- - ! '>='
|
@@ -156,15 +143,10 @@ dependencies:
|
|
156
143
|
version: '0'
|
157
144
|
type: :development
|
158
145
|
prerelease: false
|
159
|
-
version_requirements:
|
160
|
-
none: false
|
161
|
-
requirements:
|
162
|
-
- - ! '>='
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
version: '0'
|
146
|
+
version_requirements: *70257167513160
|
165
147
|
- !ruby/object:Gem::Dependency
|
166
|
-
name:
|
167
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
+
name: webmock
|
149
|
+
requirement: &70257167512660 !ruby/object:Gem::Requirement
|
168
150
|
none: false
|
169
151
|
requirements:
|
170
152
|
- - ! '>='
|
@@ -172,15 +154,10 @@ dependencies:
|
|
172
154
|
version: '0'
|
173
155
|
type: :development
|
174
156
|
prerelease: false
|
175
|
-
version_requirements:
|
176
|
-
none: false
|
177
|
-
requirements:
|
178
|
-
- - ! '>='
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
157
|
+
version_requirements: *70257167512660
|
181
158
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
+
name: yajl-ruby
|
160
|
+
requirement: &70257167512080 !ruby/object:Gem::Requirement
|
184
161
|
none: false
|
185
162
|
requirements:
|
186
163
|
- - ! '>='
|
@@ -188,12 +165,18 @@ dependencies:
|
|
188
165
|
version: '0'
|
189
166
|
type: :development
|
190
167
|
prerelease: false
|
191
|
-
version_requirements:
|
168
|
+
version_requirements: *70257167512080
|
169
|
+
- !ruby/object:Gem::Dependency
|
170
|
+
name: yard
|
171
|
+
requirement: &70257167511540 !ruby/object:Gem::Requirement
|
192
172
|
none: false
|
193
173
|
requirements:
|
194
174
|
- - ! '>='
|
195
175
|
- !ruby/object:Gem::Version
|
196
176
|
version: '0'
|
177
|
+
type: :development
|
178
|
+
prerelease: false
|
179
|
+
version_requirements: *70257167511540
|
197
180
|
description: TweetStream allows you to easily consume the Twitter Streaming API utilizing
|
198
181
|
the YAJL Ruby gem.
|
199
182
|
email:
|
@@ -217,26 +200,23 @@ files:
|
|
217
200
|
- Rakefile
|
218
201
|
- examples/growl_daemon.rb
|
219
202
|
- examples/oauth.rb
|
203
|
+
- examples/sitestream.rb
|
220
204
|
- examples/userstream.rb
|
221
205
|
- lib/tweetstream.rb
|
222
206
|
- lib/tweetstream/client.rb
|
223
207
|
- lib/tweetstream/configuration.rb
|
224
208
|
- lib/tweetstream/daemon.rb
|
225
|
-
- lib/tweetstream/direct_message.rb
|
226
209
|
- lib/tweetstream/error.rb
|
227
|
-
- lib/tweetstream/
|
228
|
-
- lib/tweetstream/status.rb
|
229
|
-
- lib/tweetstream/user.rb
|
210
|
+
- lib/tweetstream/site_stream_client.rb
|
230
211
|
- lib/tweetstream/version.rb
|
231
212
|
- spec/data/direct_messages.json
|
232
213
|
- spec/data/statuses.json
|
214
|
+
- spec/fixtures/ids.json
|
215
|
+
- spec/fixtures/info.json
|
233
216
|
- spec/spec_helper.rb
|
234
217
|
- spec/tweetstream/client_spec.rb
|
235
218
|
- spec/tweetstream/daemon_spec.rb
|
236
|
-
- spec/tweetstream/
|
237
|
-
- spec/tweetstream/hash_spec.rb
|
238
|
-
- spec/tweetstream/parser_spec.rb
|
239
|
-
- spec/tweetstream/status_spec.rb
|
219
|
+
- spec/tweetstream/site_stream_client_spec.rb
|
240
220
|
- spec/tweetstream_spec.rb
|
241
221
|
- tweetstream.gemspec
|
242
222
|
homepage: http://github.com/intridea/tweetstream
|
@@ -259,19 +239,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
259
239
|
version: '0'
|
260
240
|
requirements: []
|
261
241
|
rubyforge_project:
|
262
|
-
rubygems_version: 1.8.
|
242
|
+
rubygems_version: 1.8.16
|
263
243
|
signing_key:
|
264
244
|
specification_version: 3
|
265
245
|
summary: TweetStream is a simple wrapper for consuming the Twitter Streaming API.
|
266
246
|
test_files:
|
267
247
|
- spec/data/direct_messages.json
|
268
248
|
- spec/data/statuses.json
|
249
|
+
- spec/fixtures/ids.json
|
250
|
+
- spec/fixtures/info.json
|
269
251
|
- spec/spec_helper.rb
|
270
252
|
- spec/tweetstream/client_spec.rb
|
271
253
|
- spec/tweetstream/daemon_spec.rb
|
272
|
-
- spec/tweetstream/
|
273
|
-
- spec/tweetstream/hash_spec.rb
|
274
|
-
- spec/tweetstream/parser_spec.rb
|
275
|
-
- spec/tweetstream/status_spec.rb
|
254
|
+
- spec/tweetstream/site_stream_client_spec.rb
|
276
255
|
- spec/tweetstream_spec.rb
|
277
256
|
has_rdoc:
|