twitter 5.8.0 → 5.9.0
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.
- 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
|