twitter 5.17.0 → 6.0.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 +4 -0
- data/README.md +2 -3
- data/lib/twitter/base.rb +4 -4
- data/lib/twitter/client.rb +5 -5
- data/lib/twitter/configuration.rb +1 -2
- data/lib/twitter/cursor.rb +1 -1
- data/lib/twitter/headers.rb +1 -6
- data/lib/twitter/media/photo.rb +1 -2
- data/lib/twitter/media/video.rb +1 -1
- data/lib/twitter/null_object.rb +3 -4
- data/lib/twitter/profile_banner.rb +1 -2
- data/lib/twitter/rest/client.rb +8 -8
- data/lib/twitter/rest/favorites.rb +2 -2
- data/lib/twitter/rest/lists.rb +1 -1
- data/lib/twitter/rest/oauth.rb +1 -1
- data/lib/twitter/rest/request/multipart_with_file.rb +1 -1
- data/lib/twitter/rest/response/parse_json.rb +2 -2
- data/lib/twitter/rest/response/raise_error.rb +1 -1
- data/lib/twitter/rest/saved_searches.rb +1 -1
- data/lib/twitter/rest/search.rb +1 -1
- data/lib/twitter/rest/tweets.rb +3 -3
- data/lib/twitter/rest/undocumented.rb +1 -1
- data/lib/twitter/rest/users.rb +6 -6
- data/lib/twitter/rest/utils.rb +2 -2
- data/lib/twitter/streaming/client.rb +5 -5
- data/lib/twitter/streaming/response.rb +4 -1
- data/lib/twitter/user.rb +2 -2
- data/lib/twitter/version.rb +6 -6
- data/twitter.gemspec +8 -8
- metadata +16 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbb087a2412cc851f5131e470ae8c1cc78e1700a
|
4
|
+
data.tar.gz: e4394c9649f2eca483a9ea15defe046e44961572
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92fcec79f161d87e03b78c4e090a4abb0ef85a3a3ec570f3374dc5a083c815644d92c9585362cfbe3114d1c32ec1704ec59f2db63b3b2dff0d4bb08fdea7adbd
|
7
|
+
data.tar.gz: e9e603a04133351d73e2e53aef78123414990a4439d81cc5ee26534229837f59174ccb8406d68b6bd517981de07a5b247b671020b6436d1450b00a1d6b188672
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
6.0.0
|
2
|
+
-----
|
3
|
+
* [Drop support for Ruby 1.8.7 and Ruby 1.9.3](https://github.com/sferik/twitter/commit/27980f45fb357e34b86e46cb9134d86ed29b3ce3)
|
4
|
+
|
1
5
|
5.17.0
|
2
6
|
------
|
3
7
|
* [Add `email` to `Twitter::User`](https://github.com/sferik/twitter/commit/1d3aebcd0186d36c7c657ec913ac73bfa802d6ff)
|
data/README.md
CHANGED
@@ -556,12 +556,11 @@ command:
|
|
556
556
|
This library aims to support and is [tested against][travis] the following Ruby
|
557
557
|
versions:
|
558
558
|
|
559
|
-
* Ruby 1.8.7
|
560
|
-
* Ruby 1.9.3
|
561
559
|
* Ruby 2.0.0
|
562
560
|
* Ruby 2.1
|
563
561
|
* Ruby 2.2
|
564
|
-
*
|
562
|
+
* Ruby 2.3
|
563
|
+
* JRuby 9.1.6.0
|
565
564
|
|
566
565
|
If something doesn't work on one of these versions, it's a bug.
|
567
566
|
|
data/lib/twitter/base.rb
CHANGED
@@ -72,7 +72,7 @@ module Twitter
|
|
72
72
|
# @param key1 [Symbol]
|
73
73
|
# @param key2 [Symbol]
|
74
74
|
def define_uri_method(key1, key2)
|
75
|
-
define_method(key1) do
|
75
|
+
define_method(key1) do
|
76
76
|
Addressable::URI.parse(@attrs[key2].chomp('#')) unless @attrs[key2].nil?
|
77
77
|
end
|
78
78
|
memoize(key1)
|
@@ -84,7 +84,7 @@ module Twitter
|
|
84
84
|
# @param klass [Symbol]
|
85
85
|
# @param key2 [Symbol]
|
86
86
|
def define_attribute_method(key1, klass = nil, key2 = nil)
|
87
|
-
define_method(key1) do
|
87
|
+
define_method(key1) do
|
88
88
|
if attr_falsey_or_empty?(key1)
|
89
89
|
NullObject.new
|
90
90
|
elsif klass.nil?
|
@@ -99,7 +99,7 @@ module Twitter
|
|
99
99
|
|
100
100
|
# @param key [Symbol]
|
101
101
|
def deprecate_attribute_method(key)
|
102
|
-
define_method(key) do
|
102
|
+
define_method(key) do
|
103
103
|
warn "#{Kernel.caller.first}: [DEPRECATION] ##{key} is deprecated. Use ##{key}? instead."
|
104
104
|
@attrs[key]
|
105
105
|
end
|
@@ -111,7 +111,7 @@ module Twitter
|
|
111
111
|
# @param key1 [Symbol]
|
112
112
|
# @param key2 [Symbol]
|
113
113
|
def define_predicate_method(key1, key2 = key1)
|
114
|
-
define_method(:"#{key1}?") do
|
114
|
+
define_method(:"#{key1}?") do
|
115
115
|
!attr_falsey_or_empty?(key2)
|
116
116
|
end
|
117
117
|
memoize(:"#{key1}?")
|
data/lib/twitter/client.rb
CHANGED
@@ -37,11 +37,11 @@ module Twitter
|
|
37
37
|
# @return [Hash]
|
38
38
|
def credentials
|
39
39
|
{
|
40
|
-
:
|
41
|
-
:
|
42
|
-
:
|
43
|
-
:
|
44
|
-
:
|
40
|
+
consumer_key: consumer_key,
|
41
|
+
consumer_secret: consumer_secret,
|
42
|
+
token: access_token,
|
43
|
+
token_secret: access_token_secret,
|
44
|
+
ignore_extra_keys: true,
|
45
45
|
}
|
46
46
|
end
|
47
47
|
|
@@ -17,9 +17,8 @@ module Twitter
|
|
17
17
|
#
|
18
18
|
# @return [Array<Twitter::Size>]
|
19
19
|
def photo_sizes
|
20
|
-
@attrs.fetch(:photo_sizes, []).
|
20
|
+
@attrs.fetch(:photo_sizes, []).each_with_object({}) do |(key, value), object|
|
21
21
|
object[key] = Size.new(value)
|
22
|
-
object
|
23
22
|
end
|
24
23
|
end
|
25
24
|
memoize :photo_sizes
|
data/lib/twitter/cursor.rb
CHANGED
@@ -44,7 +44,7 @@ module Twitter
|
|
44
44
|
|
45
45
|
# @return [Hash]
|
46
46
|
def fetch_next_page
|
47
|
-
response = Twitter::REST::Request.new(@client, @request_method, @path, @options.merge(:
|
47
|
+
response = Twitter::REST::Request.new(@client, @request_method, @path, @options.merge(cursor: next_cursor)).perform
|
48
48
|
self.attrs = response
|
49
49
|
end
|
50
50
|
|
data/lib/twitter/headers.rb
CHANGED
@@ -50,13 +50,8 @@ module Twitter
|
|
50
50
|
#
|
51
51
|
# @return [String]
|
52
52
|
def bearer_token_credentials_auth_header
|
53
|
-
basic_auth_token = strict_encode64("#{@client.consumer_key}:#{@client.consumer_secret}")
|
53
|
+
basic_auth_token = Base64.strict_encode64("#{@client.consumer_key}:#{@client.consumer_secret}")
|
54
54
|
"Basic #{basic_auth_token}"
|
55
55
|
end
|
56
|
-
|
57
|
-
# Base64.strict_encode64 is not available on Ruby 1.8.7
|
58
|
-
def strict_encode64(str)
|
59
|
-
Base64.encode64(str).delete("\n")
|
60
|
-
end
|
61
56
|
end
|
62
57
|
end
|
data/lib/twitter/media/photo.rb
CHANGED
@@ -15,9 +15,8 @@ module Twitter
|
|
15
15
|
#
|
16
16
|
# @return [Array<Twitter::Size>]
|
17
17
|
def sizes
|
18
|
-
@attrs.fetch(:sizes, []).
|
18
|
+
@attrs.fetch(:sizes, []).each_with_object({}) do |(key, value), object|
|
19
19
|
object[key] = Size.new(value)
|
20
|
-
object
|
21
20
|
end
|
22
21
|
end
|
23
22
|
memoize :sizes
|
data/lib/twitter/media/video.rb
CHANGED
data/lib/twitter/null_object.rb
CHANGED
@@ -9,9 +9,8 @@ module Twitter
|
|
9
9
|
#
|
10
10
|
# @return [Array<Twitter::Size>]
|
11
11
|
def sizes
|
12
|
-
@attrs.fetch(:sizes, []).
|
12
|
+
@attrs.fetch(:sizes, []).each_with_object({}) do |(key, value), object|
|
13
13
|
object[key] = Size.new(value)
|
14
|
-
object
|
15
14
|
end
|
16
15
|
end
|
17
16
|
memoize :sizes
|
data/lib/twitter/rest/client.rb
CHANGED
@@ -27,16 +27,16 @@ module Twitter
|
|
27
27
|
# @return [Hash]
|
28
28
|
def connection_options
|
29
29
|
@connection_options ||= {
|
30
|
-
:
|
31
|
-
:
|
32
|
-
:
|
33
|
-
:
|
30
|
+
builder: middleware,
|
31
|
+
headers: {
|
32
|
+
accept: 'application/json',
|
33
|
+
user_agent: user_agent,
|
34
34
|
},
|
35
|
-
:
|
36
|
-
:
|
37
|
-
:
|
35
|
+
request: {
|
36
|
+
open_timeout: 10,
|
37
|
+
timeout: 30,
|
38
38
|
},
|
39
|
-
:
|
39
|
+
proxy: proxy,
|
40
40
|
}
|
41
41
|
end
|
42
42
|
|
@@ -69,7 +69,7 @@ module Twitter
|
|
69
69
|
arguments = Twitter::Arguments.new(args)
|
70
70
|
pmap(arguments) do |tweet|
|
71
71
|
begin
|
72
|
-
perform_post_with_object('/1.1/favorites/create.json', arguments.options.merge(:
|
72
|
+
perform_post_with_object('/1.1/favorites/create.json', arguments.options.merge(id: extract_id(tweet)), Twitter::Tweet)
|
73
73
|
rescue Twitter::Error::AlreadyFavorited, Twitter::Error::NotFound
|
74
74
|
next
|
75
75
|
end
|
@@ -96,7 +96,7 @@ module Twitter
|
|
96
96
|
def favorite!(*args)
|
97
97
|
arguments = Twitter::Arguments.new(args)
|
98
98
|
pmap(arguments) do |tweet|
|
99
|
-
perform_post_with_object('/1.1/favorites/create.json', arguments.options.merge(:
|
99
|
+
perform_post_with_object('/1.1/favorites/create.json', arguments.options.merge(id: extract_id(tweet)), Twitter::Tweet)
|
100
100
|
end
|
101
101
|
end
|
102
102
|
alias create_favorite! favorite!
|
data/lib/twitter/rest/lists.rb
CHANGED
@@ -328,7 +328,7 @@ module Twitter
|
|
328
328
|
# @option options [String] :mode ('public') Whether your list is public or private. Values can be 'public' or 'private'.
|
329
329
|
# @option options [String] :description The description to give the list.
|
330
330
|
def create_list(name, options = {})
|
331
|
-
perform_post_with_object('/1.1/lists/create.json', options.merge(:
|
331
|
+
perform_post_with_object('/1.1/lists/create.json', options.merge(name: name), Twitter::List)
|
332
332
|
end
|
333
333
|
deprecate_alias :list_create, :create_list
|
334
334
|
|
data/lib/twitter/rest/oauth.rb
CHANGED
@@ -56,7 +56,7 @@ module Twitter
|
|
56
56
|
conn = connection.dup
|
57
57
|
conn.builder.swap(4, Twitter::REST::Response::ParseErrorJson)
|
58
58
|
response = conn.post('/oauth/request_token?x_auth_mode=reverse_auth') do |request|
|
59
|
-
request.headers[:authorization] = Twitter::Headers.new(self, :post, 'https://api.twitter.com/oauth/request_token', :
|
59
|
+
request.headers[:authorization] = Twitter::Headers.new(self, :post, 'https://api.twitter.com/oauth/request_token', x_auth_mode: 'reverse_auth').oauth_auth_header.to_s
|
60
60
|
end
|
61
61
|
response.body
|
62
62
|
end
|
@@ -12,7 +12,7 @@ module Twitter
|
|
12
12
|
when WHITESPACE_REGEX, nil
|
13
13
|
nil
|
14
14
|
else
|
15
|
-
JSON.parse(body, :
|
15
|
+
JSON.parse(body, symbolize_names: true)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -28,4 +28,4 @@ module Twitter
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
Faraday::Response.register_middleware :
|
31
|
+
Faraday::Response.register_middleware twitter_parse_json: Twitter::REST::Response::ParseJson
|
@@ -63,7 +63,7 @@ module Twitter
|
|
63
63
|
# @param query [String] The query of the search the user would like to save.
|
64
64
|
# @param options [Hash] A customizable set of options.
|
65
65
|
def create_saved_search(query, options = {})
|
66
|
-
perform_post_with_object('/1.1/saved_searches/create.json', options.merge(:
|
66
|
+
perform_post_with_object('/1.1/saved_searches/create.json', options.merge(query: query), Twitter::SavedSearch)
|
67
67
|
end
|
68
68
|
deprecate_alias :saved_search_create, :create_saved_search
|
69
69
|
|
data/lib/twitter/rest/search.rb
CHANGED
@@ -27,7 +27,7 @@ module Twitter
|
|
27
27
|
# @return [Twitter::SearchResults] Return tweets that match a specified query with search metadata
|
28
28
|
def search(q, options = {})
|
29
29
|
options[:count] ||= MAX_TWEETS_PER_REQUEST
|
30
|
-
request = Twitter::REST::Request.new(self, :get, '/1.1/search/tweets.json', options.merge(:
|
30
|
+
request = Twitter::REST::Request.new(self, :get, '/1.1/search/tweets.json', options.merge(q: q))
|
31
31
|
Twitter::SearchResults.new(request)
|
32
32
|
end
|
33
33
|
end
|
data/lib/twitter/rest/tweets.rb
CHANGED
@@ -76,7 +76,7 @@ module Twitter
|
|
76
76
|
def statuses(*args)
|
77
77
|
arguments = Twitter::Arguments.new(args)
|
78
78
|
flat_pmap(arguments.each_slice(MAX_TWEETS_PER_REQUEST)) do |tweets|
|
79
|
-
perform_post_with_objects('/1.1/statuses/lookup.json', arguments.options.merge(:
|
79
|
+
perform_post_with_objects('/1.1/statuses/lookup.json', arguments.options.merge(id: tweets.collect { |u| extract_id(u) }.join(',')), Twitter::Tweet)
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
@@ -127,7 +127,7 @@ module Twitter
|
|
127
127
|
def update(status, options = {})
|
128
128
|
update!(status, options)
|
129
129
|
rescue Twitter::Error::DuplicateStatus
|
130
|
-
user_timeline(:
|
130
|
+
user_timeline(count: 1).first
|
131
131
|
end
|
132
132
|
|
133
133
|
# Updates the authenticating user's status
|
@@ -155,7 +155,7 @@ module Twitter
|
|
155
155
|
hash = options.dup
|
156
156
|
hash[:in_reply_to_status_id] = hash.delete(:in_reply_to_status).id unless hash[:in_reply_to_status].nil?
|
157
157
|
hash[:place_id] = hash.delete(:place).woeid unless hash[:place].nil?
|
158
|
-
perform_post_with_object('/1.1/statuses/update.json', hash.merge(:
|
158
|
+
perform_post_with_object('/1.1/statuses/update.json', hash.merge(status: status), Twitter::Tweet)
|
159
159
|
end
|
160
160
|
|
161
161
|
# Retweets the specified Tweets as the authenticating user
|
@@ -37,7 +37,7 @@ module Twitter
|
|
37
37
|
# @param options [Hash] A customizable set of options.
|
38
38
|
def tweet_count(uri, options = {})
|
39
39
|
connection = Faraday.new('https://cdn.api.twitter.com', connection_options)
|
40
|
-
connection.get('/1/urls/count.json', options.merge(:
|
40
|
+
connection.get('/1/urls/count.json', options.merge(url: uri.to_s)).body[:count]
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
data/lib/twitter/rest/users.rb
CHANGED
@@ -34,7 +34,7 @@ module Twitter
|
|
34
34
|
request_method = options.size.zero? ? :get : :post
|
35
35
|
response = perform_request(request_method.to_sym, '/1.1/account/settings.json', options)
|
36
36
|
# https://dev.twitter.com/issues/59
|
37
|
-
response.update(:
|
37
|
+
response.update(trend_location: response.fetch(:trend_location, []).first)
|
38
38
|
Twitter::Settings.new(response)
|
39
39
|
end
|
40
40
|
|
@@ -62,7 +62,7 @@ module Twitter
|
|
62
62
|
# @param device [String] Must be one of: 'sms', 'none'.
|
63
63
|
# @param options [Hash] A customizable set of options.
|
64
64
|
def update_delivery_device(device, options = {})
|
65
|
-
perform_post_with_object('/1.1/account/update_delivery_device.json', options.merge(:
|
65
|
+
perform_post_with_object('/1.1/account/update_delivery_device.json', options.merge(device: device), Twitter::User)
|
66
66
|
end
|
67
67
|
|
68
68
|
# Sets values that users are able to set under the "Account" tab of their settings page
|
@@ -93,7 +93,7 @@ module Twitter
|
|
93
93
|
# @param options [Hash] A customizable set of options.
|
94
94
|
# @option options [Boolean] :tile Whether or not to tile the background image. If set to true the background image will be displayed tiled. The image will not be tiled otherwise.
|
95
95
|
def update_profile_background_image(image, options = {})
|
96
|
-
perform_post_with_object('/1.1/account/update_profile_background_image.json', options.merge(:
|
96
|
+
perform_post_with_object('/1.1/account/update_profile_background_image.json', options.merge(image: image), Twitter::User)
|
97
97
|
end
|
98
98
|
|
99
99
|
# Sets one or more hex values that control the color scheme of the authenticating user's profile
|
@@ -125,7 +125,7 @@ module Twitter
|
|
125
125
|
# @param image [File] The avatar image for the profile, base64-encoded. Must be a valid GIF, JPG, or PNG image of less than 700 kilobytes in size. Images with width larger than 500 pixels will be scaled down. Animated GIFs will be converted to a static GIF of the first frame, removing the animation.
|
126
126
|
# @param options [Hash] A customizable set of options.
|
127
127
|
def update_profile_image(image, options = {})
|
128
|
-
perform_post_with_object('/1.1/account/update_profile_image.json', options.merge(:
|
128
|
+
perform_post_with_object('/1.1/account/update_profile_image.json', options.merge(image: image), Twitter::User)
|
129
129
|
end
|
130
130
|
|
131
131
|
# Returns an array of user objects that the authenticating user is blocking
|
@@ -286,7 +286,7 @@ module Twitter
|
|
286
286
|
# @option options [Integer] :count The number of people to retrieve. Maxiumum of 20 allowed per page.
|
287
287
|
# @option options [Integer] :page Specifies the page of results to retrieve.
|
288
288
|
def user_search(query, options = {})
|
289
|
-
perform_get_with_objects('/1.1/users/search.json', options.merge(:
|
289
|
+
perform_get_with_objects('/1.1/users/search.json', options.merge(q: query), Twitter::User)
|
290
290
|
end
|
291
291
|
|
292
292
|
# Returns an array of users that the specified user can contribute to
|
@@ -357,7 +357,7 @@ module Twitter
|
|
357
357
|
# @option options [Integer] :offset_left The number of pixels by which to offset the uploaded image from the left. Use with height, width, and offset_top to select the desired region of the image to use.
|
358
358
|
# @option options [Integer] :offset_top The number of pixels by which to offset the uploaded image from the top. Use with height, width, and offset_left to select the desired region of the image to use.
|
359
359
|
def update_profile_banner(banner, options = {})
|
360
|
-
perform_post('/1.1/account/update_profile_banner.json', options.merge(:
|
360
|
+
perform_post('/1.1/account/update_profile_banner.json', options.merge(banner: banner))
|
361
361
|
true
|
362
362
|
end
|
363
363
|
|
data/lib/twitter/rest/utils.rb
CHANGED
@@ -147,7 +147,7 @@ module Twitter
|
|
147
147
|
def parallel_objects_from_response(klass, request_method, path, args)
|
148
148
|
arguments = Twitter::Arguments.new(args)
|
149
149
|
pmap(arguments) do |object|
|
150
|
-
perform_request_with_object(request_method, path, arguments.options.merge(:
|
150
|
+
perform_request_with_object(request_method, path, arguments.options.merge(id: extract_id(object)), klass)
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
@@ -163,7 +163,7 @@ module Twitter
|
|
163
163
|
end
|
164
164
|
|
165
165
|
def user_id
|
166
|
-
@user_id ||= verify_credentials(:
|
166
|
+
@user_id ||= verify_credentials(skip_status: true).id
|
167
167
|
end
|
168
168
|
|
169
169
|
def user_id?
|
@@ -73,7 +73,7 @@ module Twitter
|
|
73
73
|
def site(*args, &block)
|
74
74
|
arguments = Arguments.new(args)
|
75
75
|
user_ids = collect_user_ids(arguments)
|
76
|
-
request(:get, 'https://sitestream.twitter.com:443/1.1/site.json', arguments.options.merge(:
|
76
|
+
request(:get, 'https://sitestream.twitter.com:443/1.1/site.json', arguments.options.merge(follow: user_ids.join(',')), &block)
|
77
77
|
end
|
78
78
|
|
79
79
|
# Streams messages for a single user
|
@@ -109,8 +109,8 @@ module Twitter
|
|
109
109
|
def request(method, uri, params)
|
110
110
|
before_request.call
|
111
111
|
authorization = Twitter::Headers.new(self, method, uri, params).oauth_auth_header.to_s
|
112
|
-
headers = default_headers.merge(:
|
113
|
-
request = HTTP::Request.new(:
|
112
|
+
headers = default_headers.merge(authorization: authorization)
|
113
|
+
request = HTTP::Request.new(verb: method, uri: uri + '?' + to_url_params(params), headers: headers)
|
114
114
|
response = Streaming::Response.new do |data|
|
115
115
|
if item = Streaming::MessageParser.parse(data) # rubocop:disable AssignmentInCondition
|
116
116
|
yield(item)
|
@@ -127,8 +127,8 @@ module Twitter
|
|
127
127
|
|
128
128
|
def default_headers
|
129
129
|
@default_headers ||= {
|
130
|
-
:
|
131
|
-
:
|
130
|
+
accept: '*/*',
|
131
|
+
user_agent: user_agent,
|
132
132
|
}
|
133
133
|
end
|
134
134
|
|
@@ -1,4 +1,7 @@
|
|
1
1
|
require 'buftok'
|
2
|
+
require 'http'
|
3
|
+
require 'json'
|
4
|
+
require 'twitter/error'
|
2
5
|
|
3
6
|
module Twitter
|
4
7
|
module Streaming
|
@@ -24,7 +27,7 @@ module Twitter
|
|
24
27
|
def on_body(data)
|
25
28
|
@tokenizer.extract(data).each do |line|
|
26
29
|
next if line.empty?
|
27
|
-
@block.call(JSON.parse(line, :
|
30
|
+
@block.call(JSON.parse(line, symbolize_names: true))
|
28
31
|
end
|
29
32
|
end
|
30
33
|
end
|
data/lib/twitter/user.rb
CHANGED
@@ -54,7 +54,7 @@ module Twitter
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def define_entity_uris_method(key1, key2)
|
57
|
-
define_method(key1) do
|
57
|
+
define_method(key1) do
|
58
58
|
@attrs.fetch(:entities, {}).fetch(key2, {}).fetch(:urls, []).collect do |url|
|
59
59
|
Entity::URI.new(url)
|
60
60
|
end
|
@@ -63,7 +63,7 @@ module Twitter
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def define_entity_uris_predicate_method(key1)
|
66
|
-
define_method(:"#{key1}?") do
|
66
|
+
define_method(:"#{key1}?") do
|
67
67
|
send(:"#{key1}").any?
|
68
68
|
end
|
69
69
|
memoize(:"#{key1}?")
|
data/lib/twitter/version.rb
CHANGED
@@ -4,12 +4,12 @@ module Twitter
|
|
4
4
|
|
5
5
|
# @return [Integer]
|
6
6
|
def major
|
7
|
-
|
7
|
+
6
|
8
8
|
end
|
9
9
|
|
10
10
|
# @return [Integer]
|
11
11
|
def minor
|
12
|
-
|
12
|
+
0
|
13
13
|
end
|
14
14
|
|
15
15
|
# @return [Integer]
|
@@ -25,10 +25,10 @@ module Twitter
|
|
25
25
|
# @return [Hash]
|
26
26
|
def to_h
|
27
27
|
{
|
28
|
-
:
|
29
|
-
:
|
30
|
-
:
|
31
|
-
:
|
28
|
+
major: major,
|
29
|
+
minor: minor,
|
30
|
+
patch: patch,
|
31
|
+
pre: pre,
|
32
32
|
}
|
33
33
|
end
|
34
34
|
|
data/twitter.gemspec
CHANGED
@@ -3,16 +3,15 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'twitter/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.add_dependency 'addressable', '~> 2.
|
6
|
+
spec.add_dependency 'addressable', '~> 2.5'
|
7
7
|
spec.add_dependency 'buftok', '~> 0.2.0'
|
8
|
-
spec.add_dependency 'equalizer', '0.0.
|
9
|
-
spec.add_dependency 'faraday', '~> 0.
|
10
|
-
spec.add_dependency 'http', '~> 1
|
8
|
+
spec.add_dependency 'equalizer', '0.0.11'
|
9
|
+
spec.add_dependency 'faraday', '~> 0.10.0'
|
10
|
+
spec.add_dependency 'http', '~> 2.1'
|
11
11
|
spec.add_dependency 'http_parser.rb', '~> 0.6.0'
|
12
|
-
spec.add_dependency '
|
13
|
-
spec.add_dependency '
|
14
|
-
spec.add_dependency '
|
15
|
-
spec.add_dependency 'simple_oauth', '~> 0.3.0'
|
12
|
+
spec.add_dependency 'memoizable', '~> 0.4.2'
|
13
|
+
spec.add_dependency 'naught', '~> 1.1'
|
14
|
+
spec.add_dependency 'simple_oauth', '~> 0.3.1'
|
16
15
|
spec.add_development_dependency 'bundler', '~> 1.0'
|
17
16
|
spec.authors = ['Erik Michaels-Ober', 'John Nunemaker', 'Wynn Netherland', 'Steve Richert', 'Steve Agalloco']
|
18
17
|
spec.description = 'A Ruby interface to the Twitter API.'
|
@@ -22,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
22
21
|
spec.licenses = %w(MIT)
|
23
22
|
spec.name = 'twitter'
|
24
23
|
spec.require_paths = %w(lib)
|
24
|
+
spec.required_ruby_version = '>= 2'
|
25
25
|
spec.required_rubygems_version = '>= 1.3.5'
|
26
26
|
spec.summary = spec.description
|
27
27
|
spec.version = Twitter::Version
|
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:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Michaels-Ober
|
@@ -20,14 +20,14 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '2.
|
23
|
+
version: '2.5'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: '2.
|
30
|
+
version: '2.5'
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: buftok
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -48,42 +48,42 @@ dependencies:
|
|
48
48
|
requirements:
|
49
49
|
- - '='
|
50
50
|
- !ruby/object:Gem::Version
|
51
|
-
version: 0.0.
|
51
|
+
version: 0.0.11
|
52
52
|
type: :runtime
|
53
53
|
prerelease: false
|
54
54
|
version_requirements: !ruby/object:Gem::Requirement
|
55
55
|
requirements:
|
56
56
|
- - '='
|
57
57
|
- !ruby/object:Gem::Version
|
58
|
-
version: 0.0.
|
58
|
+
version: 0.0.11
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: faraday
|
61
61
|
requirement: !ruby/object:Gem::Requirement
|
62
62
|
requirements:
|
63
63
|
- - "~>"
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version: 0.
|
65
|
+
version: 0.10.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
68
|
version_requirements: !ruby/object:Gem::Requirement
|
69
69
|
requirements:
|
70
70
|
- - "~>"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 0.
|
72
|
+
version: 0.10.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: http
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '1
|
79
|
+
version: '2.1'
|
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: '1
|
86
|
+
version: '2.1'
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
88
|
name: http_parser.rb
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,62 +98,48 @@ dependencies:
|
|
98
98
|
- - "~>"
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
version: 0.6.0
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: json
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
-
requirements:
|
105
|
-
- - "~>"
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: '1.8'
|
108
|
-
type: :runtime
|
109
|
-
prerelease: false
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
requirements:
|
112
|
-
- - "~>"
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: '1.8'
|
115
101
|
- !ruby/object:Gem::Dependency
|
116
102
|
name: memoizable
|
117
103
|
requirement: !ruby/object:Gem::Requirement
|
118
104
|
requirements:
|
119
105
|
- - "~>"
|
120
106
|
- !ruby/object:Gem::Version
|
121
|
-
version: 0.4.
|
107
|
+
version: 0.4.2
|
122
108
|
type: :runtime
|
123
109
|
prerelease: false
|
124
110
|
version_requirements: !ruby/object:Gem::Requirement
|
125
111
|
requirements:
|
126
112
|
- - "~>"
|
127
113
|
- !ruby/object:Gem::Version
|
128
|
-
version: 0.4.
|
114
|
+
version: 0.4.2
|
129
115
|
- !ruby/object:Gem::Dependency
|
130
116
|
name: naught
|
131
117
|
requirement: !ruby/object:Gem::Requirement
|
132
118
|
requirements:
|
133
119
|
- - "~>"
|
134
120
|
- !ruby/object:Gem::Version
|
135
|
-
version: '1.
|
121
|
+
version: '1.1'
|
136
122
|
type: :runtime
|
137
123
|
prerelease: false
|
138
124
|
version_requirements: !ruby/object:Gem::Requirement
|
139
125
|
requirements:
|
140
126
|
- - "~>"
|
141
127
|
- !ruby/object:Gem::Version
|
142
|
-
version: '1.
|
128
|
+
version: '1.1'
|
143
129
|
- !ruby/object:Gem::Dependency
|
144
130
|
name: simple_oauth
|
145
131
|
requirement: !ruby/object:Gem::Requirement
|
146
132
|
requirements:
|
147
133
|
- - "~>"
|
148
134
|
- !ruby/object:Gem::Version
|
149
|
-
version: 0.3.
|
135
|
+
version: 0.3.1
|
150
136
|
type: :runtime
|
151
137
|
prerelease: false
|
152
138
|
version_requirements: !ruby/object:Gem::Requirement
|
153
139
|
requirements:
|
154
140
|
- - "~>"
|
155
141
|
- !ruby/object:Gem::Version
|
156
|
-
version: 0.3.
|
142
|
+
version: 0.3.1
|
157
143
|
- !ruby/object:Gem::Dependency
|
158
144
|
name: bundler
|
159
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -281,7 +267,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
281
267
|
requirements:
|
282
268
|
- - ">="
|
283
269
|
- !ruby/object:Gem::Version
|
284
|
-
version: '
|
270
|
+
version: '2'
|
285
271
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
286
272
|
requirements:
|
287
273
|
- - ">="
|