twitter 6.1.0 → 6.2.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 +5 -5
- data/CHANGELOG.md +22 -15
- data/README.md +69 -394
- data/lib/twitter/base.rb +2 -16
- data/lib/twitter/basic_user.rb +0 -3
- data/lib/twitter/client.rb +5 -19
- data/lib/twitter/configuration.rb +3 -2
- data/lib/twitter/creatable.rb +1 -1
- data/lib/twitter/cursor.rb +0 -1
- data/lib/twitter/entity/uri.rb +0 -4
- data/lib/twitter/error.rb +81 -96
- data/lib/twitter/geo_results.rb +0 -1
- data/lib/twitter/headers.rb +11 -10
- data/lib/twitter/media/photo.rb +4 -0
- data/lib/twitter/media/video.rb +4 -1
- data/lib/twitter/media/video_info.rb +1 -1
- data/lib/twitter/null_object.rb +2 -2
- data/lib/twitter/profile.rb +3 -2
- data/lib/twitter/rate_limit.rb +1 -1
- data/lib/twitter/rest/api.rb +0 -2
- data/lib/twitter/rest/client.rb +0 -78
- data/lib/twitter/rest/direct_messages.rb +3 -3
- data/lib/twitter/rest/favorites.rb +25 -4
- data/lib/twitter/rest/friends_and_followers.rb +1 -3
- data/lib/twitter/rest/lists.rb +18 -29
- data/lib/twitter/rest/oauth.rb +15 -15
- data/lib/twitter/rest/request.rb +105 -16
- data/lib/twitter/rest/saved_searches.rb +0 -2
- data/lib/twitter/rest/search.rb +2 -0
- data/lib/twitter/rest/trends.rb +1 -0
- data/lib/twitter/rest/tweets.rb +80 -15
- data/lib/twitter/rest/undocumented.rb +3 -4
- data/lib/twitter/rest/users.rb +20 -34
- data/lib/twitter/rest/utils.rb +13 -20
- data/lib/twitter/search_results.rb +1 -2
- data/lib/twitter/streaming/client.rb +17 -23
- data/lib/twitter/streaming/connection.rb +23 -10
- data/lib/twitter/streaming/deleted_tweet.rb +0 -1
- data/lib/twitter/streaming/event.rb +6 -6
- data/lib/twitter/streaming/message_parser.rb +1 -1
- data/lib/twitter/streaming/response.rb +2 -2
- data/lib/twitter/trend_results.rb +1 -2
- data/lib/twitter/tweet.rb +1 -5
- data/lib/twitter/user.rb +0 -2
- data/lib/twitter/utils.rb +1 -16
- data/lib/twitter/version.rb +1 -1
- data/twitter.gemspec +13 -13
- metadata +35 -27
- data/lib/twitter/rest/media.rb +0 -30
- data/lib/twitter/rest/request/multipart_with_file.rb +0 -47
- data/lib/twitter/rest/response/parse_error_json.rb +0 -13
- data/lib/twitter/rest/response/parse_json.rb +0 -31
- data/lib/twitter/rest/response/raise_error.rb +0 -32
- data/lib/twitter/token.rb +0 -20
data/lib/twitter/rest/utils.rb
CHANGED
@@ -4,12 +4,12 @@ require 'twitter/cursor'
|
|
4
4
|
require 'twitter/rest/request'
|
5
5
|
require 'twitter/user'
|
6
6
|
require 'twitter/utils'
|
7
|
+
require 'uri'
|
7
8
|
|
8
9
|
module Twitter
|
9
10
|
module REST
|
10
11
|
module Utils
|
11
12
|
include Twitter::Utils
|
12
|
-
URI_SUBSTRING = '://'.freeze
|
13
13
|
DEFAULT_CURSOR = -1
|
14
14
|
|
15
15
|
private
|
@@ -24,7 +24,7 @@ module Twitter
|
|
24
24
|
object
|
25
25
|
when ::String
|
26
26
|
object.split('/').last.to_i
|
27
|
-
when URI
|
27
|
+
when URI, Addressable::URI
|
28
28
|
object.path.split('/').last.to_i
|
29
29
|
when Twitter::Identity
|
30
30
|
object.id
|
@@ -193,11 +193,7 @@ module Twitter
|
|
193
193
|
when Integer
|
194
194
|
set_compound_key('user_id', user, hash, prefix)
|
195
195
|
when String
|
196
|
-
|
197
|
-
set_compound_key('screen_name', user.split('/').last, hash, prefix)
|
198
|
-
else
|
199
|
-
set_compound_key('screen_name', user, hash, prefix)
|
200
|
-
end
|
196
|
+
set_compound_key('screen_name', user, hash, prefix)
|
201
197
|
when URI, Addressable::URI
|
202
198
|
set_compound_key('screen_name', user.path.split('/').last, hash, prefix)
|
203
199
|
when Twitter::User
|
@@ -217,7 +213,9 @@ module Twitter
|
|
217
213
|
# @param users [Enumerable<Integer, String, Twitter::User>] A collection of Twitter user IDs, screen_names, or objects.
|
218
214
|
# @return [Hash]
|
219
215
|
def merge_users(hash, users)
|
220
|
-
|
216
|
+
copy = hash.dup
|
217
|
+
merge_users!(copy, users)
|
218
|
+
copy
|
221
219
|
end
|
222
220
|
|
223
221
|
# Take a multiple users and merge them into the hash with the correct keys
|
@@ -226,25 +224,20 @@ module Twitter
|
|
226
224
|
# @param users [Enumerable<Integer, String, URI, Twitter::User>] A collection of Twitter user IDs, screen_names, URIs, or objects.
|
227
225
|
# @return [Hash]
|
228
226
|
def merge_users!(hash, users)
|
229
|
-
user_ids, screen_names =
|
227
|
+
user_ids, screen_names = collect_users(users)
|
230
228
|
hash[:user_id] = user_ids.join(',') unless user_ids.empty?
|
231
229
|
hash[:screen_name] = screen_names.join(',') unless screen_names.empty?
|
232
|
-
hash
|
233
230
|
end
|
234
231
|
|
235
|
-
def
|
232
|
+
def collect_users(users) # rubocop:disable MethodLength
|
236
233
|
user_ids = []
|
237
234
|
screen_names = []
|
238
|
-
users.
|
235
|
+
users.each do |user|
|
239
236
|
case user
|
240
|
-
when Integer
|
241
|
-
|
242
|
-
when String
|
243
|
-
|
244
|
-
when URI
|
245
|
-
screen_names << user.path.split('/').last
|
246
|
-
when Twitter::User
|
247
|
-
user_ids << user.id
|
237
|
+
when Integer then user_ids << user
|
238
|
+
when Twitter::User then user_ids << user.id
|
239
|
+
when String then screen_names << user
|
240
|
+
when URI, Addressable::URI then screen_names << user.path.split('/').last
|
248
241
|
end
|
249
242
|
end
|
250
243
|
[user_ids, screen_names]
|
@@ -12,7 +12,6 @@ module Twitter
|
|
12
12
|
attr_reader :attrs
|
13
13
|
alias to_h attrs
|
14
14
|
alias to_hash to_h
|
15
|
-
deprecate_alias :to_hsh, :to_hash
|
16
15
|
|
17
16
|
# Initializes a new SearchResults object
|
18
17
|
#
|
@@ -49,7 +48,7 @@ module Twitter
|
|
49
48
|
|
50
49
|
# @return [Hash]
|
51
50
|
def fetch_next_page
|
52
|
-
response = Twitter::REST::Request.new(@client, @request_method, @path, next_page).perform
|
51
|
+
response = Twitter::REST::Request.new(@client, @request_method, @path, @options.merge(next_page)).perform
|
53
52
|
self.attrs = response
|
54
53
|
end
|
55
54
|
|
@@ -3,14 +3,15 @@ require 'twitter/arguments'
|
|
3
3
|
require 'twitter/client'
|
4
4
|
require 'twitter/headers'
|
5
5
|
require 'twitter/streaming/connection'
|
6
|
-
require 'twitter/streaming/response'
|
7
6
|
require 'twitter/streaming/message_parser'
|
7
|
+
require 'twitter/streaming/response'
|
8
|
+
require 'twitter/utils'
|
8
9
|
|
9
10
|
module Twitter
|
10
11
|
module Streaming
|
11
12
|
class Client < Twitter::Client
|
13
|
+
include Twitter::Utils
|
12
14
|
attr_writer :connection
|
13
|
-
attr_accessor :tcp_socket_class, :ssl_socket_class
|
14
15
|
|
15
16
|
# Initializes a new Client object
|
16
17
|
#
|
@@ -108,9 +109,8 @@ module Twitter
|
|
108
109
|
|
109
110
|
def request(method, uri, params)
|
110
111
|
before_request.call
|
111
|
-
|
112
|
-
|
113
|
-
request = HTTP::Request.new(verb: method, uri: uri + '?' + to_url_params(params), headers: headers)
|
112
|
+
headers = Twitter::Headers.new(self, method, uri, params).request_headers
|
113
|
+
request = HTTP::Request.new(verb: method, uri: uri + '?' + to_url_params(params), headers: headers, proxy: proxy)
|
114
114
|
response = Streaming::Response.new do |data|
|
115
115
|
if item = Streaming::MessageParser.parse(data) # rubocop:disable AssignmentInCondition
|
116
116
|
yield(item)
|
@@ -120,29 +120,23 @@ module Twitter
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def to_url_params(params)
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
end
|
127
|
-
|
128
|
-
def default_headers
|
129
|
-
@default_headers ||= {
|
130
|
-
accept: '*/*',
|
131
|
-
user_agent: user_agent,
|
132
|
-
}
|
123
|
+
uri = Addressable::URI.new
|
124
|
+
uri.query_values = params
|
125
|
+
uri.query
|
133
126
|
end
|
134
127
|
|
128
|
+
# Takes a mixed array of Integers and Twitter::User objects and returns a
|
129
|
+
# consistent array of Twitter user IDs.
|
130
|
+
#
|
131
|
+
# @param users [Array]
|
132
|
+
# @return [Array<Integer>]
|
135
133
|
def collect_user_ids(users)
|
136
|
-
|
137
|
-
users.flatten.each do |user|
|
134
|
+
users.collect do |user|
|
138
135
|
case user
|
139
|
-
when Integer
|
140
|
-
|
141
|
-
when Twitter::User
|
142
|
-
user_ids << user.id
|
136
|
+
when Integer then user
|
137
|
+
when Twitter::User then user.id
|
143
138
|
end
|
144
|
-
end
|
145
|
-
user_ids
|
139
|
+
end.compact
|
146
140
|
end
|
147
141
|
end
|
148
142
|
end
|
@@ -5,22 +5,35 @@ require 'resolv'
|
|
5
5
|
module Twitter
|
6
6
|
module Streaming
|
7
7
|
class Connection
|
8
|
-
def initialize(opts = {})
|
9
|
-
@tcp_socket_class = opts.fetch(:tcp_socket_class) { TCPSocket }
|
10
|
-
@ssl_socket_class = opts.fetch(:ssl_socket_class) { OpenSSL::SSL::SSLSocket }
|
11
|
-
end
|
12
8
|
attr_reader :tcp_socket_class, :ssl_socket_class
|
13
9
|
|
10
|
+
def initialize(options = {})
|
11
|
+
@tcp_socket_class = options.fetch(:tcp_socket_class) { TCPSocket }
|
12
|
+
@ssl_socket_class = options.fetch(:ssl_socket_class) { OpenSSL::SSL::SSLSocket }
|
13
|
+
@using_ssl = options.fetch(:using_ssl) { false }
|
14
|
+
end
|
15
|
+
|
14
16
|
def stream(request, response)
|
17
|
+
client = connect(request)
|
18
|
+
request.stream(client)
|
19
|
+
while body = client.readpartial(1024) # rubocop:disable AssignmentInCondition
|
20
|
+
response << body
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def connect(request)
|
25
|
+
client = new_tcp_socket(request.socket_host, request.socket_port)
|
26
|
+
return client if !@using_ssl && request.using_proxy?
|
27
|
+
|
15
28
|
client_context = OpenSSL::SSL::SSLContext.new
|
16
|
-
client = @tcp_socket_class.new(Resolv.getaddress(request.socket_host), request.socket_port)
|
17
29
|
ssl_client = @ssl_socket_class.new(client, client_context)
|
18
|
-
|
19
30
|
ssl_client.connect
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def new_tcp_socket(host, port)
|
36
|
+
@tcp_socket_class.new(Resolv.getaddress(host), port)
|
24
37
|
end
|
25
38
|
end
|
26
39
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module Twitter
|
2
2
|
module Streaming
|
3
3
|
class Event
|
4
|
-
LIST_EVENTS = [
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
LIST_EVENTS = %i[
|
5
|
+
list_created list_destroyed list_updated list_member_added
|
6
|
+
list_member_added list_member_removed list_user_subscribed
|
7
|
+
list_user_subscribed list_user_unsubscribed list_user_unsubscribed
|
8
8
|
].freeze
|
9
9
|
|
10
|
-
TWEET_EVENTS = [
|
11
|
-
|
10
|
+
TWEET_EVENTS = %i[
|
11
|
+
favorite unfavorite quoted_tweet
|
12
12
|
].freeze
|
13
13
|
|
14
14
|
attr_reader :name, :source, :target, :target_object
|
@@ -8,7 +8,7 @@ require 'twitter/tweet'
|
|
8
8
|
module Twitter
|
9
9
|
module Streaming
|
10
10
|
class MessageParser
|
11
|
-
def self.parse(data) # rubocop:disable CyclomaticComplexity, PerceivedComplexity
|
11
|
+
def self.parse(data) # rubocop:disable AbcSize, CyclomaticComplexity, MethodLength, PerceivedComplexity
|
12
12
|
if data[:id]
|
13
13
|
Tweet.new(data)
|
14
14
|
elsif data[:event]
|
@@ -14,7 +14,6 @@ module Twitter
|
|
14
14
|
attr_reader :attrs
|
15
15
|
alias to_h attrs
|
16
16
|
alias to_hash to_h
|
17
|
-
deprecate_alias :to_hsh, :to_hash
|
18
17
|
|
19
18
|
# Initializes a new TrendResults object
|
20
19
|
#
|
@@ -31,7 +30,7 @@ module Twitter
|
|
31
30
|
#
|
32
31
|
# @return [Time]
|
33
32
|
def as_of
|
34
|
-
Time.parse(@attrs[:as_of]) unless @attrs[:as_of].nil?
|
33
|
+
Time.parse(@attrs[:as_of]).utc unless @attrs[:as_of].nil?
|
35
34
|
end
|
36
35
|
memoize :as_of
|
37
36
|
|
data/lib/twitter/tweet.rb
CHANGED
@@ -11,11 +11,8 @@ module Twitter
|
|
11
11
|
# @return [Integer]
|
12
12
|
attr_reader :favorite_count, :in_reply_to_status_id, :in_reply_to_user_id,
|
13
13
|
:retweet_count
|
14
|
-
deprecate_alias :favorites_count, :favorite_count
|
15
|
-
deprecate_alias :favoriters_count, :favorite_count
|
16
14
|
alias in_reply_to_tweet_id in_reply_to_status_id
|
17
15
|
alias reply? in_reply_to_user_id?
|
18
|
-
deprecate_alias :retweeters_count, :retweet_count
|
19
16
|
object_attr_reader :GeoFactory, :geo
|
20
17
|
object_attr_reader :Metadata, :metadata
|
21
18
|
object_attr_reader :Place, :place
|
@@ -32,7 +29,7 @@ module Twitter
|
|
32
29
|
predicate_attr_reader :favorited, :possibly_sensitive, :retweeted,
|
33
30
|
:truncated
|
34
31
|
|
35
|
-
# @note May be >
|
32
|
+
# @note May be > 280 characters.
|
36
33
|
# @return [String]
|
37
34
|
def full_text
|
38
35
|
if retweet?
|
@@ -51,5 +48,4 @@ module Twitter
|
|
51
48
|
memoize :uri
|
52
49
|
alias url uri
|
53
50
|
end
|
54
|
-
Status = Tweet
|
55
51
|
end
|
data/lib/twitter/user.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'addressable/uri'
|
2
|
-
require 'memoizable'
|
3
2
|
require 'twitter/basic_user'
|
4
3
|
require 'twitter/creatable'
|
5
4
|
require 'twitter/entity/uri'
|
@@ -9,7 +8,6 @@ module Twitter
|
|
9
8
|
class User < Twitter::BasicUser
|
10
9
|
include Twitter::Creatable
|
11
10
|
include Twitter::Profile
|
12
|
-
include Memoizable
|
13
11
|
# @return [Array]
|
14
12
|
attr_reader :connections
|
15
13
|
# @return [Integer]
|
data/lib/twitter/utils.rb
CHANGED
@@ -1,19 +1,6 @@
|
|
1
1
|
module Twitter
|
2
2
|
module Utils
|
3
|
-
|
4
|
-
def included(base)
|
5
|
-
base.extend(ClassMethods)
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
module ClassMethods
|
10
|
-
def deprecate_alias(new_name, old_name, &block)
|
11
|
-
define_method(new_name) do |*args|
|
12
|
-
warn "#{Kernel.caller.first}: [DEPRECATION] ##{new_name} is deprecated. Use ##{old_name} instead."
|
13
|
-
send(old_name, *args, &block)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
3
|
+
module_function
|
17
4
|
|
18
5
|
# Returns a new array with the concatenated results of running block once for every element in enumerable.
|
19
6
|
# If no block is given, an enumerator is returned instead.
|
@@ -24,7 +11,6 @@ module Twitter
|
|
24
11
|
return to_enum(:flat_pmap, enumerable) unless block_given?
|
25
12
|
pmap(enumerable, &Proc.new).flatten(1)
|
26
13
|
end
|
27
|
-
module_function :flat_pmap
|
28
14
|
|
29
15
|
# Returns a new array with the results of running block once for every element in enumerable.
|
30
16
|
# If no block is given, an enumerator is returned instead.
|
@@ -39,6 +25,5 @@ module Twitter
|
|
39
25
|
enumerable.collect { |object| Thread.new { yield(object) } }.collect(&:value)
|
40
26
|
end
|
41
27
|
end
|
42
|
-
module_function :pmap
|
43
28
|
end
|
44
29
|
end
|
data/lib/twitter/version.rb
CHANGED
data/twitter.gemspec
CHANGED
@@ -3,26 +3,26 @@ $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.3'
|
7
7
|
spec.add_dependency 'buftok', '~> 0.2.0'
|
8
|
-
spec.add_dependency 'equalizer', '0.0.11'
|
9
|
-
spec.add_dependency '
|
10
|
-
spec.add_dependency 'http', '~> 2.
|
8
|
+
spec.add_dependency 'equalizer', '~> 0.0.11'
|
9
|
+
spec.add_dependency 'http', '~> 3.0'
|
10
|
+
spec.add_dependency 'http-form_data', '~> 2.0'
|
11
11
|
spec.add_dependency 'http_parser.rb', '~> 0.6.0'
|
12
|
-
spec.add_dependency 'memoizable', '~> 0.4.
|
13
|
-
spec.add_dependency '
|
14
|
-
spec.add_dependency '
|
12
|
+
spec.add_dependency 'memoizable', '~> 0.4.0'
|
13
|
+
spec.add_dependency 'multipart-post', '~> 2.0'
|
14
|
+
spec.add_dependency 'naught', '~> 1.0'
|
15
|
+
spec.add_dependency 'simple_oauth', '~> 0.3.0'
|
15
16
|
spec.add_development_dependency 'bundler', '~> 1.0'
|
16
17
|
spec.authors = ['Erik Michaels-Ober', 'John Nunemaker', 'Wynn Netherland', 'Steve Richert', 'Steve Agalloco']
|
17
18
|
spec.description = 'A Ruby interface to the Twitter API.'
|
18
|
-
spec.email = %w
|
19
|
-
spec.files = %w
|
19
|
+
spec.email = %w[sferik@gmail.com]
|
20
|
+
spec.files = %w[.yardopts CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md twitter.gemspec] + Dir['lib/**/*.rb']
|
20
21
|
spec.homepage = 'http://sferik.github.com/twitter/'
|
21
|
-
spec.licenses = %w
|
22
|
+
spec.licenses = %w[MIT]
|
22
23
|
spec.name = 'twitter'
|
23
|
-
spec.require_paths = %w
|
24
|
-
spec.required_ruby_version = '>=
|
25
|
-
spec.required_rubygems_version = '>= 1.3.5'
|
24
|
+
spec.require_paths = %w[lib]
|
25
|
+
spec.required_ruby_version = '>= 1.9.3'
|
26
26
|
spec.summary = spec.description
|
27
27
|
spec.version = Twitter::Version
|
28
28
|
end
|
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: 6.
|
4
|
+
version: 6.2.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: 2017-
|
15
|
+
date: 2017-11-08 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: addressable
|
@@ -20,14 +20,14 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: '2.
|
23
|
+
version: '2.3'
|
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.3'
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: buftok
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -46,44 +46,44 @@ dependencies:
|
|
46
46
|
name: equalizer
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
48
48
|
requirements:
|
49
|
-
- -
|
49
|
+
- - "~>"
|
50
50
|
- !ruby/object:Gem::Version
|
51
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
58
|
version: 0.0.11
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
|
-
name:
|
60
|
+
name: http
|
61
61
|
requirement: !ruby/object:Gem::Requirement
|
62
62
|
requirements:
|
63
63
|
- - "~>"
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
65
|
+
version: '3.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:
|
72
|
+
version: '3.0'
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
|
-
name: http
|
74
|
+
name: http-form_data
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '2.
|
79
|
+
version: '2.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: '2.
|
86
|
+
version: '2.0'
|
87
87
|
- !ruby/object:Gem::Dependency
|
88
88
|
name: http_parser.rb
|
89
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,42 +104,56 @@ dependencies:
|
|
104
104
|
requirements:
|
105
105
|
- - "~>"
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version: 0.4.
|
107
|
+
version: 0.4.0
|
108
108
|
type: :runtime
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
112
|
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version: 0.4.
|
114
|
+
version: 0.4.0
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: multipart-post
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - "~>"
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '2.0'
|
122
|
+
type: :runtime
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - "~>"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: '2.0'
|
115
129
|
- !ruby/object:Gem::Dependency
|
116
130
|
name: naught
|
117
131
|
requirement: !ruby/object:Gem::Requirement
|
118
132
|
requirements:
|
119
133
|
- - "~>"
|
120
134
|
- !ruby/object:Gem::Version
|
121
|
-
version: '1.
|
135
|
+
version: '1.0'
|
122
136
|
type: :runtime
|
123
137
|
prerelease: false
|
124
138
|
version_requirements: !ruby/object:Gem::Requirement
|
125
139
|
requirements:
|
126
140
|
- - "~>"
|
127
141
|
- !ruby/object:Gem::Version
|
128
|
-
version: '1.
|
142
|
+
version: '1.0'
|
129
143
|
- !ruby/object:Gem::Dependency
|
130
144
|
name: simple_oauth
|
131
145
|
requirement: !ruby/object:Gem::Requirement
|
132
146
|
requirements:
|
133
147
|
- - "~>"
|
134
148
|
- !ruby/object:Gem::Version
|
135
|
-
version: 0.3.
|
149
|
+
version: 0.3.0
|
136
150
|
type: :runtime
|
137
151
|
prerelease: false
|
138
152
|
version_requirements: !ruby/object:Gem::Requirement
|
139
153
|
requirements:
|
140
154
|
- - "~>"
|
141
155
|
- !ruby/object:Gem::Version
|
142
|
-
version: 0.3.
|
156
|
+
version: 0.3.0
|
143
157
|
- !ruby/object:Gem::Dependency
|
144
158
|
name: bundler
|
145
159
|
requirement: !ruby/object:Gem::Requirement
|
@@ -213,14 +227,9 @@ files:
|
|
213
227
|
- lib/twitter/rest/friends_and_followers.rb
|
214
228
|
- lib/twitter/rest/help.rb
|
215
229
|
- lib/twitter/rest/lists.rb
|
216
|
-
- lib/twitter/rest/media.rb
|
217
230
|
- lib/twitter/rest/oauth.rb
|
218
231
|
- lib/twitter/rest/places_and_geo.rb
|
219
232
|
- lib/twitter/rest/request.rb
|
220
|
-
- lib/twitter/rest/request/multipart_with_file.rb
|
221
|
-
- lib/twitter/rest/response/parse_error_json.rb
|
222
|
-
- lib/twitter/rest/response/parse_json.rb
|
223
|
-
- lib/twitter/rest/response/raise_error.rb
|
224
233
|
- lib/twitter/rest/saved_searches.rb
|
225
234
|
- lib/twitter/rest/search.rb
|
226
235
|
- lib/twitter/rest/spam_reporting.rb
|
@@ -246,7 +255,6 @@ files:
|
|
246
255
|
- lib/twitter/streaming/stall_warning.rb
|
247
256
|
- lib/twitter/suggestion.rb
|
248
257
|
- lib/twitter/target_user.rb
|
249
|
-
- lib/twitter/token.rb
|
250
258
|
- lib/twitter/trend.rb
|
251
259
|
- lib/twitter/trend_results.rb
|
252
260
|
- lib/twitter/tweet.rb
|
@@ -267,15 +275,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
267
275
|
requirements:
|
268
276
|
- - ">="
|
269
277
|
- !ruby/object:Gem::Version
|
270
|
-
version:
|
278
|
+
version: 1.9.3
|
271
279
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
272
280
|
requirements:
|
273
281
|
- - ">="
|
274
282
|
- !ruby/object:Gem::Version
|
275
|
-
version:
|
283
|
+
version: '0'
|
276
284
|
requirements: []
|
277
285
|
rubyforge_project:
|
278
|
-
rubygems_version: 2.
|
286
|
+
rubygems_version: 2.7.2
|
279
287
|
signing_key:
|
280
288
|
specification_version: 4
|
281
289
|
summary: A Ruby interface to the Twitter API.
|