From f40c5c7f922536119f77408843953a8d467cc0b5 Mon Sep 17 00:00:00 2001 From: "Renato \"Lond\" Cerqueira" Date: Thu, 16 Jan 2020 21:01:16 +0100 Subject: [PATCH] Fix rubocop issues --- lib/twitter/creatable.rb | 1 + lib/twitter/cursor.rb | 1 + lib/twitter/enumerable.rb | 1 + lib/twitter/null_object.rb | 2 ++ lib/twitter/profile.rb | 4 ++-- lib/twitter/rest/direct_messages.rb | 4 +--- lib/twitter/rest/lists.rb | 1 + lib/twitter/rest/request.rb | 1 + lib/twitter/rest/timelines.rb | 1 + lib/twitter/streaming/response.rb | 1 + lib/twitter/utils.rb | 2 ++ 11 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/twitter/creatable.rb b/lib/twitter/creatable.rb index 0a8aa221d..6d6cd4500 100644 --- a/lib/twitter/creatable.rb +++ b/lib/twitter/creatable.rb @@ -11,6 +11,7 @@ module Creatable def created_at time = @attrs[:created_at] return if time.nil? + time = Time.parse(time) unless time.is_a?(Time) time.utc end diff --git a/lib/twitter/cursor.rb b/lib/twitter/cursor.rb index c1e32b425..cf789e7fe 100644 --- a/lib/twitter/cursor.rb +++ b/lib/twitter/cursor.rb @@ -42,6 +42,7 @@ def next_cursor def last? return false if next_cursor.is_a?(String) return true if next_cursor.nil? + next_cursor.zero? end diff --git a/lib/twitter/enumerable.rb b/lib/twitter/enumerable.rb index 3e1f153d3..1827e5c87 100644 --- a/lib/twitter/enumerable.rb +++ b/lib/twitter/enumerable.rb @@ -5,6 +5,7 @@ module Enumerable # @return [Enumerator] def each(start = 0) return to_enum(:each, start) unless block_given? + Array(@collection[start..-1]).each do |element| yield(element) end diff --git a/lib/twitter/null_object.rb b/lib/twitter/null_object.rb index baea95d33..fd391cffa 100644 --- a/lib/twitter/null_object.rb +++ b/lib/twitter/null_object.rb @@ -19,11 +19,13 @@ def respond_to?(*) def instance_of?(klass) raise(TypeError, 'class or module required') unless klass.is_a?(Class) + self.class == klass end def kind_of?(mod) raise(TypeError, 'class or module required') unless mod.is_a?(Module) + self.class.ancestors.include?(mod) end diff --git a/lib/twitter/profile.rb b/lib/twitter/profile.rb index 8646aff88..3d16fc6fc 100644 --- a/lib/twitter/profile.rb +++ b/lib/twitter/profile.rb @@ -4,8 +4,8 @@ module Twitter module Profile - PROFILE_IMAGE_SUFFIX_REGEX = /_normal(\.gif|\.jpe?g|\.png)$/i - PREDICATE_URI_METHOD_REGEX = /_uri\?$/ + PROFILE_IMAGE_SUFFIX_REGEX = /_normal(\.gif|\.jpe?g|\.png)$/i # rubocop:disable Style/MutableConstant + PREDICATE_URI_METHOD_REGEX = /_uri\?$/ # rubocop:disable Style/MutableConstant include Memoizable class << self diff --git a/lib/twitter/rest/direct_messages.rb b/lib/twitter/rest/direct_messages.rb index 6561e2992..d2f2fecfa 100644 --- a/lib/twitter/rest/direct_messages.rb +++ b/lib/twitter/rest/direct_messages.rb @@ -187,9 +187,7 @@ def create_direct_message(user_id, text, options = {}) def create_direct_message_event(*args) arguments = Twitter::Arguments.new(args) options = arguments.options.dup - if arguments.length >= 2 - options[:event] = {type: 'message_create', message_create: {target: {recipient_id: extract_id(arguments[0])}, message_data: {text: arguments[1]}}} - end + options[:event] = {type: 'message_create', message_create: {target: {recipient_id: extract_id(arguments[0])}, message_data: {text: arguments[1]}}} if arguments.length >= 2 response = Twitter::REST::Request.new(self, :json_post, '/1.1/direct_messages/events/new.json', options).perform Twitter::DirectMessageEvent.new(response[:event]) end diff --git a/lib/twitter/rest/lists.rb b/lib/twitter/rest/lists.rb index 48f17bc6a..ffb547cd0 100644 --- a/lib/twitter/rest/lists.rb +++ b/lib/twitter/rest/lists.rb @@ -484,6 +484,7 @@ def merge_list_and_owner!(hash, list) # @return [Hash] def merge_owner!(hash, user) return hash if hash[:owner_id] || hash[:owner_screen_name] + if user merge_user!(hash, user, 'owner') hash[:owner_id] = hash.delete(:owner_user_id) unless hash[:owner_user_id].nil? diff --git a/lib/twitter/rest/request.rb b/lib/twitter/rest/request.rb index c5b2d1fd1..37e04d917 100644 --- a/lib/twitter/rest/request.rb +++ b/lib/twitter/rest/request.rb @@ -79,6 +79,7 @@ def content_type(basename) def fail_or_return_response_body(code, body, headers) error = error(code, body, headers) raise(error) if error + @rate_limit = Twitter::RateLimit.new(headers) body end diff --git a/lib/twitter/rest/timelines.rb b/lib/twitter/rest/timelines.rb index a143bf2d7..248839969 100644 --- a/lib/twitter/rest/timelines.rb +++ b/lib/twitter/rest/timelines.rb @@ -188,6 +188,7 @@ def collect_with_count(count) def collect_with_max_id(collection = [], max_id = nil, &block) tweets = yield(max_id) return collection if tweets.nil? + collection += tweets tweets.empty? ? collection.flatten : collect_with_max_id(collection, tweets.last.id - 1, &block) end diff --git a/lib/twitter/streaming/response.rb b/lib/twitter/streaming/response.rb index c301d8477..31b98fb0c 100644 --- a/lib/twitter/streaming/response.rb +++ b/lib/twitter/streaming/response.rb @@ -27,6 +27,7 @@ def on_headers_complete(_headers) def on_body(data) @tokenizer.extract(data).each do |line| next if line.empty? + @block.call(JSON.parse(line, symbolize_names: true)) end end diff --git a/lib/twitter/utils.rb b/lib/twitter/utils.rb index 7ab525681..e815a4b98 100644 --- a/lib/twitter/utils.rb +++ b/lib/twitter/utils.rb @@ -9,6 +9,7 @@ module Utils # @return [Array, Enumerator] def flat_pmap(enumerable) return to_enum(:flat_pmap, enumerable) unless block_given? + pmap(enumerable, &Proc.new).flatten(1) end @@ -19,6 +20,7 @@ def flat_pmap(enumerable) # @return [Array, Enumerator] def pmap(enumerable) return to_enum(:pmap, enumerable) unless block_given? + if enumerable.count == 1 enumerable.collect { |object| yield(object) } else