twitter 5.8.0 → 5.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +10 -36
- data/lib/twitter/base.rb +20 -3
- data/lib/twitter/basic_user.rb +6 -4
- data/lib/twitter/client.rb +2 -1
- data/lib/twitter/configuration.rb +1 -1
- data/lib/twitter/cursor.rb +1 -1
- data/lib/twitter/entities.rb +10 -6
- data/lib/twitter/enumerable.rb +2 -2
- data/lib/twitter/error.rb +7 -0
- data/lib/twitter/geo_results.rb +1 -1
- data/lib/twitter/list.rb +3 -2
- data/lib/twitter/media/photo.rb +1 -1
- data/lib/twitter/place.rb +13 -15
- data/lib/twitter/profile.rb +1 -1
- data/lib/twitter/profile_banner.rb +1 -1
- data/lib/twitter/rest/client.rb +17 -2
- data/lib/twitter/rest/friends_and_followers.rb +1 -1
- data/lib/twitter/rest/lists.rb +4 -2
- data/lib/twitter/rest/spam_reporting.rb +1 -1
- data/lib/twitter/rest/tweets.rb +17 -17
- data/lib/twitter/rest/users.rb +77 -13
- data/lib/twitter/rest/utils.rb +10 -6
- data/lib/twitter/search_results.rb +1 -1
- data/lib/twitter/settings.rb +4 -3
- data/lib/twitter/source_user.rb +3 -2
- data/lib/twitter/streaming/client.rb +7 -2
- data/lib/twitter/streaming/connection.rb +9 -2
- data/lib/twitter/streaming/response.rb +3 -3
- data/lib/twitter/suggestion.rb +1 -1
- data/lib/twitter/target_user.rb +1 -1
- data/lib/twitter/trend.rb +2 -1
- data/lib/twitter/trend_results.rb +1 -1
- data/lib/twitter/tweet.rb +4 -4
- data/lib/twitter/user.rb +60 -19
- data/lib/twitter/utils.rb +12 -5
- data/lib/twitter/version.rb +1 -1
- data/spec/fixtures/following.json +1 -1
- data/spec/fixtures/sferik.json +1 -1
- data/spec/helper.rb +14 -5
- data/spec/twitter/base_spec.rb +16 -4
- data/spec/twitter/direct_message_spec.rb +12 -13
- data/spec/twitter/entity/uri_spec.rb +2 -2
- data/spec/twitter/error_spec.rb +2 -2
- data/spec/twitter/media/photo_spec.rb +4 -4
- data/spec/twitter/oembed_spec.rb +3 -3
- data/spec/twitter/place_spec.rb +1 -1
- data/spec/twitter/rest/client_spec.rb +54 -14
- data/spec/twitter/rest/friends_and_followers_spec.rb +76 -76
- data/spec/twitter/rest/lists_spec.rb +85 -64
- data/spec/twitter/rest/timelines_spec.rb +2 -2
- data/spec/twitter/rest/tweets_spec.rb +20 -16
- data/spec/twitter/rest/undocumented_spec.rb +17 -17
- data/spec/twitter/rest/users_spec.rb +101 -17
- data/spec/twitter/streaming/client_spec.rb +1 -1
- data/spec/twitter/streaming/connection_spec.rb +32 -0
- data/spec/twitter/streaming/response_spec.rb +21 -0
- data/spec/twitter/trend_spec.rb +1 -1
- data/spec/twitter/tweet_spec.rb +14 -23
- data/spec/twitter/user_spec.rb +120 -13
- data/twitter.gemspec +3 -3
- metadata +8 -4
data/spec/twitter/user_spec.rb
CHANGED
@@ -44,10 +44,10 @@ describe Twitter::User do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
describe '#description_uris' do
|
47
|
-
it 'returns an array of Entity::URIs when entities are set' do
|
47
|
+
it 'returns an array of Entity::URIs when description URI entities are set' do
|
48
48
|
urls_array = [
|
49
49
|
{
|
50
|
-
:url => '
|
50
|
+
:url => 'https://t.co/L2xIBazMPf',
|
51
51
|
:expanded_url => 'http://example.com/expanded',
|
52
52
|
:display_url => 'example.com/expanded…',
|
53
53
|
:indices => [10, 33],
|
@@ -57,7 +57,7 @@ describe Twitter::User do
|
|
57
57
|
expect(user.description_uris).to be_an Array
|
58
58
|
expect(user.description_uris.first).to be_a Twitter::Entity::URI
|
59
59
|
expect(user.description_uris.first.indices).to eq([10, 33])
|
60
|
-
expect(user.description_uris.first.
|
60
|
+
expect(user.description_uris.first.expanded_uri).to be_an Addressable::URI
|
61
61
|
end
|
62
62
|
it 'is empty when not set' do
|
63
63
|
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => []}})
|
@@ -65,14 +65,56 @@ describe Twitter::User do
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
describe '#description_uris?' do
|
69
|
+
it 'returns true when the tweet includes description URI entities' do
|
70
|
+
urls_array = [
|
71
|
+
{
|
72
|
+
:url => 'https://t.co/L2xIBazMPf',
|
73
|
+
:expanded_url => 'http://example.com/expanded',
|
74
|
+
:display_url => 'example.com/expanded…',
|
75
|
+
:indices => [10, 33],
|
76
|
+
}
|
77
|
+
]
|
78
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => urls_array}})
|
79
|
+
expect(user.description_uris?).to be true
|
80
|
+
end
|
81
|
+
it 'returns false when no entities are present' do
|
82
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => []}})
|
83
|
+
expect(user.description_uris?).to be false
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe '#entities?' do
|
88
|
+
it 'returns true if there are entities set' do
|
89
|
+
urls_array = [
|
90
|
+
{
|
91
|
+
:url => 'https://t.co/L2xIBazMPf',
|
92
|
+
:expanded_url => 'http://example.com/expanded',
|
93
|
+
:display_url => 'example.com/expanded…',
|
94
|
+
:indices => [10, 33],
|
95
|
+
}
|
96
|
+
]
|
97
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => urls_array}})
|
98
|
+
expect(user.entities?).to be true
|
99
|
+
end
|
100
|
+
it 'returns false if there are blank lists of entities set' do
|
101
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => []}})
|
102
|
+
expect(user.entities?).to be false
|
103
|
+
end
|
104
|
+
it 'returns false if there are no entities set' do
|
105
|
+
user = Twitter::User.new(:id => 7_505_382)
|
106
|
+
expect(user.entities?).to be false
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
68
110
|
describe '#profile_banner_uri' do
|
69
111
|
it 'accepts utf8 urls' do
|
70
112
|
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581©_normal.png')
|
71
|
-
expect(user.profile_banner_uri).to
|
113
|
+
expect(user.profile_banner_uri).to be_an Addressable::URI
|
72
114
|
end
|
73
115
|
it 'returns a URI when profile_banner_url is set' do
|
74
116
|
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
75
|
-
expect(user.profile_banner_uri).to
|
117
|
+
expect(user.profile_banner_uri).to be_an Addressable::URI
|
76
118
|
end
|
77
119
|
it 'returns nil when profile_banner_uri is not set' do
|
78
120
|
user = Twitter::User.new(:id => 7_505_382)
|
@@ -117,11 +159,11 @@ describe Twitter::User do
|
|
117
159
|
describe '#profile_banner_uri_https' do
|
118
160
|
it 'accepts utf8 urls' do
|
119
161
|
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581©_normal.png')
|
120
|
-
expect(user.profile_banner_uri_https).to
|
162
|
+
expect(user.profile_banner_uri_https).to be_an Addressable::URI
|
121
163
|
end
|
122
164
|
it 'returns a URI when profile_banner_url is set' do
|
123
165
|
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
124
|
-
expect(user.profile_banner_uri_https).to
|
166
|
+
expect(user.profile_banner_uri_https).to be_an Addressable::URI
|
125
167
|
end
|
126
168
|
it 'returns nil when created_at is not set' do
|
127
169
|
user = Twitter::User.new(:id => 7_505_382)
|
@@ -177,11 +219,11 @@ describe Twitter::User do
|
|
177
219
|
describe '#profile_image_uri' do
|
178
220
|
it 'accepts utf8 urls' do
|
179
221
|
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_images/7_505_382/1348266581©_normal.png')
|
180
|
-
expect(user.profile_image_uri).to
|
222
|
+
expect(user.profile_image_uri).to be_an Addressable::URI
|
181
223
|
end
|
182
224
|
it 'returns a URI when profile_image_url_https is set' do
|
183
225
|
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
184
|
-
expect(user.profile_image_uri).to
|
226
|
+
expect(user.profile_image_uri).to be_an Addressable::URI
|
185
227
|
end
|
186
228
|
it 'returns nil when created_at is not set' do
|
187
229
|
user = Twitter::User.new(:id => 7_505_382)
|
@@ -222,11 +264,11 @@ describe Twitter::User do
|
|
222
264
|
describe '#profile_image_uri_https' do
|
223
265
|
it 'accepts utf8 urls' do
|
224
266
|
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_images/7_505_382/1348266581©_normal.png')
|
225
|
-
expect(user.profile_image_uri_https).to
|
267
|
+
expect(user.profile_image_uri_https).to be_an Addressable::URI
|
226
268
|
end
|
227
269
|
it 'returns a URI when profile_image_url_https is set' do
|
228
270
|
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
229
|
-
expect(user.profile_image_uri_https).to
|
271
|
+
expect(user.profile_image_uri_https).to be_an Addressable::URI
|
230
272
|
end
|
231
273
|
it 'returns nil when created_at is not set' do
|
232
274
|
user = Twitter::User.new(:id => 7_505_382)
|
@@ -305,7 +347,7 @@ describe Twitter::User do
|
|
305
347
|
describe '#uri' do
|
306
348
|
it 'returns the URI to the user' do
|
307
349
|
user = Twitter::User.new(:id => 7_505_382, :screen_name => 'sferik')
|
308
|
-
expect(user.uri).to
|
350
|
+
expect(user.uri).to be_an Addressable::URI
|
309
351
|
expect(user.uri.to_s).to eq('https://twitter.com/sferik')
|
310
352
|
end
|
311
353
|
end
|
@@ -313,9 +355,22 @@ describe Twitter::User do
|
|
313
355
|
describe '#website' do
|
314
356
|
it 'returns a URI when the url is set' do
|
315
357
|
user = Twitter::User.new(:id => 7_505_382, :url => 'https://github.com/sferik')
|
316
|
-
expect(user.website).to
|
358
|
+
expect(user.website).to be_an Addressable::URI
|
317
359
|
expect(user.website.to_s).to eq('https://github.com/sferik')
|
318
360
|
end
|
361
|
+
it 'returns a URI when the tweet includes website URI entities' do
|
362
|
+
urls_array = [
|
363
|
+
{
|
364
|
+
:url => 'https://t.co/L2xIBazMPf',
|
365
|
+
:expanded_url => 'http://example.com/expanded',
|
366
|
+
:display_url => 'example.com/expanded…',
|
367
|
+
:indices => [0, 23],
|
368
|
+
}
|
369
|
+
]
|
370
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:url => {:urls => urls_array}})
|
371
|
+
expect(user.website).to be_an Addressable::URI
|
372
|
+
expect(user.website.to_s).to eq('http://example.com/expanded')
|
373
|
+
end
|
319
374
|
it 'returns nil when the url is not set' do
|
320
375
|
user = Twitter::User.new(:id => 7_505_382)
|
321
376
|
expect(user.website).to be_nil
|
@@ -327,10 +382,62 @@ describe Twitter::User do
|
|
327
382
|
user = Twitter::User.new(:id => 7_505_382, :url => 'https://github.com/sferik')
|
328
383
|
expect(user.website?).to be true
|
329
384
|
end
|
385
|
+
it 'returns true when the tweet includes website URI entities' do
|
386
|
+
urls_array = [
|
387
|
+
{
|
388
|
+
:url => 'https://t.co/L2xIBazMPf',
|
389
|
+
:expanded_url => 'http://example.com/expanded',
|
390
|
+
:display_url => 'example.com/expanded…',
|
391
|
+
:indices => [0, 23],
|
392
|
+
}
|
393
|
+
]
|
394
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:url => {:urls => urls_array}})
|
395
|
+
expect(user.website?).to be true
|
396
|
+
end
|
330
397
|
it 'returns false when the url is not set' do
|
331
398
|
user = Twitter::User.new(:id => 7_505_382)
|
332
399
|
expect(user.website?).to be false
|
333
400
|
end
|
334
401
|
end
|
335
402
|
|
403
|
+
describe '#website_uris' do
|
404
|
+
it 'returns an array of Entity::URIs when website URI entities are set' do
|
405
|
+
urls_array = [
|
406
|
+
{
|
407
|
+
:url => 'https://t.co/L2xIBazMPf',
|
408
|
+
:expanded_url => 'http://example.com/expanded',
|
409
|
+
:display_url => 'example.com/expanded…',
|
410
|
+
:indices => [0, 23],
|
411
|
+
}
|
412
|
+
]
|
413
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:url => {:urls => urls_array}})
|
414
|
+
expect(user.website_uris).to be_an Array
|
415
|
+
expect(user.website_uris.first).to be_a Twitter::Entity::URI
|
416
|
+
expect(user.website_uris.first.indices).to eq([0, 23])
|
417
|
+
expect(user.website_uris.first.expanded_uri).to be_an Addressable::URI
|
418
|
+
end
|
419
|
+
it 'is empty when not set' do
|
420
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:url => {:urls => []}})
|
421
|
+
expect(user.website_uris).to be_empty
|
422
|
+
end
|
423
|
+
end
|
424
|
+
|
425
|
+
describe '#website_uris?' do
|
426
|
+
it 'returns true when the tweet includes website URI entities' do
|
427
|
+
urls_array = [
|
428
|
+
{
|
429
|
+
:url => 'https://t.co/L2xIBazMPf',
|
430
|
+
:expanded_url => 'http://example.com/expanded',
|
431
|
+
:display_url => 'example.com/expanded…',
|
432
|
+
:indices => [0, 23],
|
433
|
+
}
|
434
|
+
]
|
435
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:url => {:urls => urls_array}})
|
436
|
+
expect(user.website_uris?).to be true
|
437
|
+
end
|
438
|
+
it 'returns false when no entities are present' do
|
439
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {})
|
440
|
+
expect(user.website_uris?).to be false
|
441
|
+
end
|
442
|
+
end
|
336
443
|
end
|
data/twitter.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.add_dependency 'buftok', '~> 0.2.0'
|
8
8
|
spec.add_dependency 'equalizer', '~> 0.0.9'
|
9
9
|
spec.add_dependency 'faraday', '~> 0.9.0'
|
10
|
-
spec.add_dependency 'http', '~> 0.
|
10
|
+
spec.add_dependency 'http', '~> 0.6.0'
|
11
11
|
spec.add_dependency 'http_parser.rb', '~> 0.6.0'
|
12
12
|
spec.add_dependency 'json', '~> 1.8'
|
13
13
|
spec.add_dependency 'memoizable', '~> 0.4.0'
|
@@ -15,9 +15,9 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.add_dependency 'simple_oauth', '~> 0.2.0'
|
16
16
|
spec.add_development_dependency 'bundler', '~> 1.0'
|
17
17
|
spec.authors = ['Erik Michaels-Ober', 'John Nunemaker', 'Wynn Netherland', 'Steve Richert', 'Steve Agalloco']
|
18
|
-
spec.description = %q
|
18
|
+
spec.description = %q(A Ruby interface to the Twitter API.)
|
19
19
|
spec.email = %w[sferik@gmail.com]
|
20
|
-
spec.files = %w
|
20
|
+
spec.files = %w[.yardopts CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md Rakefile twitter.gemspec]
|
21
21
|
spec.files += Dir.glob('lib/**/*.rb')
|
22
22
|
spec.files += Dir.glob('spec/**/*')
|
23
23
|
spec.homepage = 'http://sferik.github.com/twitter/'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Michaels-Ober
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-
|
15
|
+
date: 2014-05-14 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: addressable
|
@@ -76,14 +76,14 @@ dependencies:
|
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: 0.
|
79
|
+
version: 0.6.0
|
80
80
|
type: :runtime
|
81
81
|
prerelease: false
|
82
82
|
version_requirements: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
84
|
- - "~>"
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: 0.
|
86
|
+
version: 0.6.0
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
88
|
name: http_parser.rb
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -373,10 +373,12 @@ files:
|
|
373
373
|
- spec/twitter/size_spec.rb
|
374
374
|
- spec/twitter/source_user_spec.rb
|
375
375
|
- spec/twitter/streaming/client_spec.rb
|
376
|
+
- spec/twitter/streaming/connection_spec.rb
|
376
377
|
- spec/twitter/streaming/deleted_tweet_spec.rb
|
377
378
|
- spec/twitter/streaming/event_spec.rb
|
378
379
|
- spec/twitter/streaming/friend_list_spec.rb
|
379
380
|
- spec/twitter/streaming/message_parser_spec.rb
|
381
|
+
- spec/twitter/streaming/response_spec.rb
|
380
382
|
- spec/twitter/suggestion_spec.rb
|
381
383
|
- spec/twitter/target_user_spec.rb
|
382
384
|
- spec/twitter/token_spec.rb
|
@@ -520,10 +522,12 @@ test_files:
|
|
520
522
|
- spec/twitter/size_spec.rb
|
521
523
|
- spec/twitter/source_user_spec.rb
|
522
524
|
- spec/twitter/streaming/client_spec.rb
|
525
|
+
- spec/twitter/streaming/connection_spec.rb
|
523
526
|
- spec/twitter/streaming/deleted_tweet_spec.rb
|
524
527
|
- spec/twitter/streaming/event_spec.rb
|
525
528
|
- spec/twitter/streaming/friend_list_spec.rb
|
526
529
|
- spec/twitter/streaming/message_parser_spec.rb
|
530
|
+
- spec/twitter/streaming/response_spec.rb
|
527
531
|
- spec/twitter/suggestion_spec.rb
|
528
532
|
- spec/twitter/target_user_spec.rb
|
529
533
|
- spec/twitter/token_spec.rb
|