twitter 6.1.0 → 6.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +22 -15
  3. data/README.md +69 -394
  4. data/lib/twitter/base.rb +2 -16
  5. data/lib/twitter/basic_user.rb +0 -3
  6. data/lib/twitter/client.rb +5 -19
  7. data/lib/twitter/configuration.rb +3 -2
  8. data/lib/twitter/creatable.rb +1 -1
  9. data/lib/twitter/cursor.rb +0 -1
  10. data/lib/twitter/entity/uri.rb +0 -4
  11. data/lib/twitter/error.rb +81 -96
  12. data/lib/twitter/geo_results.rb +0 -1
  13. data/lib/twitter/headers.rb +11 -10
  14. data/lib/twitter/media/photo.rb +4 -0
  15. data/lib/twitter/media/video.rb +4 -1
  16. data/lib/twitter/media/video_info.rb +1 -1
  17. data/lib/twitter/null_object.rb +2 -2
  18. data/lib/twitter/profile.rb +3 -2
  19. data/lib/twitter/rate_limit.rb +1 -1
  20. data/lib/twitter/rest/api.rb +0 -2
  21. data/lib/twitter/rest/client.rb +0 -78
  22. data/lib/twitter/rest/direct_messages.rb +3 -3
  23. data/lib/twitter/rest/favorites.rb +25 -4
  24. data/lib/twitter/rest/friends_and_followers.rb +1 -3
  25. data/lib/twitter/rest/lists.rb +18 -29
  26. data/lib/twitter/rest/oauth.rb +15 -15
  27. data/lib/twitter/rest/request.rb +105 -16
  28. data/lib/twitter/rest/saved_searches.rb +0 -2
  29. data/lib/twitter/rest/search.rb +2 -0
  30. data/lib/twitter/rest/trends.rb +1 -0
  31. data/lib/twitter/rest/tweets.rb +80 -15
  32. data/lib/twitter/rest/undocumented.rb +3 -4
  33. data/lib/twitter/rest/users.rb +20 -34
  34. data/lib/twitter/rest/utils.rb +13 -20
  35. data/lib/twitter/search_results.rb +1 -2
  36. data/lib/twitter/streaming/client.rb +17 -23
  37. data/lib/twitter/streaming/connection.rb +23 -10
  38. data/lib/twitter/streaming/deleted_tweet.rb +0 -1
  39. data/lib/twitter/streaming/event.rb +6 -6
  40. data/lib/twitter/streaming/message_parser.rb +1 -1
  41. data/lib/twitter/streaming/response.rb +2 -2
  42. data/lib/twitter/trend_results.rb +1 -2
  43. data/lib/twitter/tweet.rb +1 -5
  44. data/lib/twitter/user.rb +0 -2
  45. data/lib/twitter/utils.rb +1 -16
  46. data/lib/twitter/version.rb +1 -1
  47. data/twitter.gemspec +13 -13
  48. metadata +35 -27
  49. data/lib/twitter/rest/media.rb +0 -30
  50. data/lib/twitter/rest/request/multipart_with_file.rb +0 -47
  51. data/lib/twitter/rest/response/parse_error_json.rb +0 -13
  52. data/lib/twitter/rest/response/parse_json.rb +0 -31
  53. data/lib/twitter/rest/response/raise_error.rb +0 -32
  54. data/lib/twitter/token.rb +0 -20
@@ -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
- if user[URI_SUBSTRING]
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
- merge_users!(hash.dup, users)
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 = collect_user_ids_and_screen_names(users)
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 collect_user_ids_and_screen_names(users)
232
+ def collect_users(users) # rubocop:disable MethodLength
236
233
  user_ids = []
237
234
  screen_names = []
238
- users.flatten.each do |user|
235
+ users.each do |user|
239
236
  case user
240
- when Integer
241
- user_ids << user
242
- when String
243
- screen_names << (user[URI_SUBSTRING] ? user.split('/').last : user)
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
- authorization = Twitter::Headers.new(self, method, uri, params).oauth_auth_header.to_s
112
- headers = default_headers.merge(authorization: authorization)
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
- params.collect do |param, value|
124
- [param, URI.encode(value)].join('=')
125
- end.sort.join('&')
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
- user_ids = []
137
- users.flatten.each do |user|
134
+ users.collect do |user|
138
135
  case user
139
- when Integer
140
- user_ids << user
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
- request.stream(ssl_client)
21
- while body = ssl_client.readpartial(1024) # rubocop:disable AssignmentInCondition
22
- response << body
23
- end
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
@@ -4,6 +4,5 @@ module Twitter
4
4
  # @return [Integer]
5
5
  attr_reader :user_id
6
6
  end
7
- DeletedStatus = DeletedTweet
8
7
  end
9
8
  end
@@ -1,14 +1,14 @@
1
1
  module Twitter
2
2
  module Streaming
3
3
  class Event
4
- LIST_EVENTS = [
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
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
- :favorite, :unfavorite, :quoted_tweet
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]
@@ -20,8 +20,8 @@ module Twitter
20
20
  end
21
21
 
22
22
  def on_headers_complete(_headers)
23
- error = Twitter::Error.errors[@parser.status_code]
24
- raise error.new if error
23
+ error = Twitter::Error::ERRORS[@parser.status_code]
24
+ raise error if error
25
25
  end
26
26
 
27
27
  def on_body(data)
@@ -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
 
@@ -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 > 140 characters.
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
@@ -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]
@@ -1,19 +1,6 @@
1
1
  module Twitter
2
2
  module Utils
3
- class << self
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
@@ -9,7 +9,7 @@ module Twitter
9
9
 
10
10
  # @return [Integer]
11
11
  def minor
12
- 1
12
+ 2
13
13
  end
14
14
 
15
15
  # @return [Integer]
@@ -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.5'
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 'faraday', '~> 0.11.0'
10
- spec.add_dependency 'http', '~> 2.1'
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.2'
13
- spec.add_dependency 'naught', '~> 1.1'
14
- spec.add_dependency 'simple_oauth', '~> 0.3.1'
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(sferik@gmail.com)
19
- spec.files = %w(.yardopts CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md twitter.gemspec) + Dir['lib/**/*.rb']
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(MIT)
22
+ spec.licenses = %w[MIT]
22
23
  spec.name = 'twitter'
23
- spec.require_paths = %w(lib)
24
- spec.required_ruby_version = '>= 2'
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.1.0
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-01-14 00:00:00.000000000 Z
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.5'
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.5'
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: faraday
60
+ name: http
61
61
  requirement: !ruby/object:Gem::Requirement
62
62
  requirements:
63
63
  - - "~>"
64
64
  - !ruby/object:Gem::Version
65
- version: 0.11.0
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: 0.11.0
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.1'
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.1'
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.2
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.2
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.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.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.1
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.1
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: '2'
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: 1.3.5
283
+ version: '0'
276
284
  requirements: []
277
285
  rubyforge_project:
278
- rubygems_version: 2.5.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.