From 096a1c8bac060f67c977484fdd636cedf9b311e7 Mon Sep 17 00:00:00 2001 From: iMacTia Date: Sat, 2 Mar 2019 16:31:12 +0000 Subject: [PATCH 1/5] Fixes Rubocop Style/StringLiteralsInInterpolation. --- .rubocop_todo.yml | 9 --------- lib/faraday/options/env.rb | 2 +- spec/faraday/utils_spec.rb | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index fa389ad8c..ff91e6fef 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -315,15 +315,6 @@ Style/SingleLineMethods: Style/SpecialGlobalVars: EnforcedStyle: use_perl_names -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: single_quotes, double_quotes -Style/StringLiteralsInInterpolation: - Exclude: - - 'lib/faraday/options/env.rb' - - 'spec/faraday/utils_spec.rb' - # Offense count: 280 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https diff --git a/lib/faraday/options/env.rb b/lib/faraday/options/env.rb index 6eb057472..f68e9ca8d 100644 --- a/lib/faraday/options/env.rb +++ b/lib/faraday/options/env.rb @@ -152,7 +152,7 @@ def inspect unless custom_members.empty? attrs << "@custom=#{custom_members.inspect}" end - %(#<#{self.class}#{attrs.join(" ")}>) + %(#<#{self.class}#{attrs.join(' ')}>) end # @private diff --git a/spec/faraday/utils_spec.rb b/spec/faraday/utils_spec.rb index ecffd85ec..c3da7462c 100644 --- a/spec/faraday/utils_spec.rb +++ b/spec/faraday/utils_spec.rb @@ -40,7 +40,7 @@ end it 'parses with block' do - with_default_uri_parser(->(u) { "booya#{"!" * u.size}" }) do + with_default_uri_parser(->(u) { "booya#{'!' * u.size}" }) do expect(normalize(url)).to eq('booya!!!!!!!!!!!!!!!!!!!!!!') end end From a41b6ac8d9882a87f0fde737687b7e4bd40ea442 Mon Sep 17 00:00:00 2001 From: iMacTia Date: Sat, 2 Mar 2019 16:32:29 +0000 Subject: [PATCH 2/5] Fixes Rubocop Style/SpecialGlobalVars. --- .rubocop_todo.yml | 7 ------- lib/faraday/adapter/em_synchrony.rb | 2 +- lib/faraday/adapter/httpclient.rb | 6 +++--- lib/faraday/adapter/patron.rb | 2 +- test/live_server.rb | 2 +- 5 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index ff91e6fef..77f3a0b20 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -308,13 +308,6 @@ Style/SingleLineMethods: - 'test/adapters/em_synchrony_test.rb' - 'test/adapters/rack_test.rb' -# Offense count: 6 -# Cop supports --auto-correct. -# Configuration parameters: . -# SupportedStyles: use_perl_names, use_english_names -Style/SpecialGlobalVars: - EnforcedStyle: use_perl_names - # Offense count: 280 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https diff --git a/lib/faraday/adapter/em_synchrony.rb b/lib/faraday/adapter/em_synchrony.rb index 372a89f31..a82376c88 100644 --- a/lib/faraday/adapter/em_synchrony.rb +++ b/lib/faraday/adapter/em_synchrony.rb @@ -78,7 +78,7 @@ def call(env) @app.call env rescue Errno::ECONNREFUSED - raise Faraday::ConnectionFailed, $! + raise Faraday::ConnectionFailed, $ERROR_INFO rescue EventMachine::Connectify::CONNECTError => err if err.message.include?('Proxy Authentication Required') raise Faraday::ConnectionFailed, %(407 "Proxy Authentication Required ") diff --git a/lib/faraday/adapter/httpclient.rb b/lib/faraday/adapter/httpclient.rb index 77f2b76c2..50606ed84 100644 --- a/lib/faraday/adapter/httpclient.rb +++ b/lib/faraday/adapter/httpclient.rb @@ -51,15 +51,15 @@ def call(env) @app.call env rescue ::HTTPClient::TimeoutError, Errno::ETIMEDOUT - raise Faraday::TimeoutError, $! + raise Faraday::TimeoutError, $ERROR_INFO rescue ::HTTPClient::BadResponseError => err if err.message.include?('status 407') raise Faraday::ConnectionFailed, %(407 "Proxy Authentication Required ") else - raise Faraday::ClientError, $! + raise Faraday::ClientError, $ERROR_INFO end rescue Errno::ECONNREFUSED, IOError, SocketError - raise Faraday::ConnectionFailed, $! + raise Faraday::ConnectionFailed, $ERROR_INFO rescue => err if defined?(OpenSSL) && err.is_a?(OpenSSL::SSL::SSLError) raise Faraday::SSLError, err diff --git a/lib/faraday/adapter/patron.rb b/lib/faraday/adapter/patron.rb index b2f9f4d16..edff563d3 100644 --- a/lib/faraday/adapter/patron.rb +++ b/lib/faraday/adapter/patron.rb @@ -31,7 +31,7 @@ def call(env) data = env[:body] ? env[:body].to_s : nil session.request(env[:method], env[:url].to_s, env[:request_headers], data: data) rescue Errno::ECONNREFUSED, ::Patron::ConnectionFailed - raise Faraday::ConnectionFailed, $! + raise Faraday::ConnectionFailed, $ERROR_INFO end if (req = env[:request]).stream_response? diff --git a/test/live_server.rb b/test/live_server.rb index 4fc43211a..c638a6466 100644 --- a/test/live_server.rb +++ b/test/live_server.rb @@ -81,6 +81,6 @@ class LiveServer < Sinatra::Base end end -if $0 == __FILE__ +if $PROGRAM_NAME == __FILE__ Faraday::LiveServer.run! end From 15303a3415e0b5084b6bc906909d77c253cfea17 Mon Sep 17 00:00:00 2001 From: iMacTia Date: Sat, 2 Mar 2019 16:33:29 +0000 Subject: [PATCH 3/5] Fixes Rubocop Style/SingleLineMethods. --- .rubocop_todo.yml | 14 -------------- lib/faraday/adapter.rb | 4 +++- lib/faraday/adapter/em_http.rb | 4 +++- lib/faraday/rack_builder.rb | 8 ++++++-- lib/faraday/utils.rb | 4 +++- spec/support/fake_safe_buffer.rb | 4 +++- test/adapters/em_http_test.rb | 4 +++- test/adapters/em_synchrony_test.rb | 4 +++- test/adapters/rack_test.rb | 4 +++- 9 files changed, 27 insertions(+), 23 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 77f3a0b20..1f04dbd5b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -294,20 +294,6 @@ Style/SafeNavigation: - 'lib/faraday/connection.rb' - 'lib/faraday/options/proxy_options.rb' -# Offense count: 9 -# Cop supports --auto-correct. -# Configuration parameters: AllowIfMethodIsEmpty. -Style/SingleLineMethods: - Exclude: - - 'lib/faraday/adapter.rb' - - 'lib/faraday/adapter/em_http.rb' - - 'lib/faraday/rack_builder.rb' - - 'lib/faraday/utils.rb' - - 'spec/support/fake_safe_buffer.rb' - - 'test/adapters/em_http_test.rb' - - 'test/adapters/em_synchrony_test.rb' - - 'test/adapters/rack_test.rb' - # Offense count: 280 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https diff --git a/lib/faraday/adapter.rb b/lib/faraday/adapter.rb index eedf27f7a..05d86b05b 100644 --- a/lib/faraday/adapter.rb +++ b/lib/faraday/adapter.rb @@ -24,7 +24,9 @@ class Adapter # This module marks an Adapter as supporting parallel requests. module Parallelism attr_writer :supports_parallel - def supports_parallel?() @supports_parallel end + def supports_parallel? + @supports_parallel + end def inherited(subclass) super diff --git a/lib/faraday/adapter/em_http.rb b/lib/faraday/adapter/em_http.rb index e17bc9da8..f121ce3b9 100644 --- a/lib/faraday/adapter/em_http.rb +++ b/lib/faraday/adapter/em_http.rb @@ -206,7 +206,9 @@ def reset end # @return [Boolean] - def running?() @running end + def running? + @running + end def add if running? diff --git a/lib/faraday/rack_builder.rb b/lib/faraday/rack_builder.rb index ce295cbed..7a3c49cad 100644 --- a/lib/faraday/rack_builder.rb +++ b/lib/faraday/rack_builder.rb @@ -36,9 +36,13 @@ def initialize(klass, *args, &block) @args, @block = args, block end - def klass() @@constants[@name] end + def klass + @@constants[@name] + end - def inspect() @name end + def inspect + @name + end def ==(other) if other.is_a? Handler diff --git a/lib/faraday/utils.rb b/lib/faraday/utils.rb index d5ed272fd..3899844e5 100644 --- a/lib/faraday/utils.rb +++ b/lib/faraday/utils.rb @@ -23,7 +23,9 @@ def escape(str) end.tr(' ', '+') end - def unescape(str) CGI.unescape str.to_s end + def unescape(str) + CGI.unescape str.to_s + end DEFAULT_SEP = /[&;] */n diff --git a/spec/support/fake_safe_buffer.rb b/spec/support/fake_safe_buffer.rb index e8a02450d..62a56aa58 100644 --- a/spec/support/fake_safe_buffer.rb +++ b/spec/support/fake_safe_buffer.rb @@ -2,7 +2,9 @@ # emulates ActiveSupport::SafeBuffer#gsub FakeSafeBuffer = Struct.new(:string) do - def to_s; self end + def to_s + self + end def gsub(regex) string.gsub(regex) do diff --git a/test/adapters/em_http_test.rb b/test/adapters/em_http_test.rb index 1d9f5d2e1..fa0fa0302 100644 --- a/test/adapters/em_http_test.rb +++ b/test/adapters/em_http_test.rb @@ -4,7 +4,9 @@ module Adapters class EMHttpTest < Faraday::TestCase - def adapter() :em_http end + def adapter + :em_http + end Integration.apply(self, :Parallel, :NonStreaming, :ParallelNonStreaming) do # https://github.com/eventmachine/eventmachine/pull/289 diff --git a/test/adapters/em_synchrony_test.rb b/test/adapters/em_synchrony_test.rb index 1a682037c..f95351a33 100644 --- a/test/adapters/em_synchrony_test.rb +++ b/test/adapters/em_synchrony_test.rb @@ -4,7 +4,9 @@ module Adapters class EMSynchronyTest < Faraday::TestCase - def adapter() :em_synchrony end + def adapter + :em_synchrony + end unless jruby? Integration.apply(self, :Parallel, :NonStreaming, :ParallelNonStreaming) do diff --git a/test/adapters/rack_test.rb b/test/adapters/rack_test.rb index a0c1e4ed6..149db6db1 100644 --- a/test/adapters/rack_test.rb +++ b/test/adapters/rack_test.rb @@ -5,7 +5,9 @@ module Adapters class RackTest < Faraday::TestCase - def adapter() :rack end + def adapter + :rack + end def adapter_options [Faraday::LiveServer] From 228df3da713015fa9a7dfaf1c811ba82c84e2b57 Mon Sep 17 00:00:00 2001 From: iMacTia Date: Sat, 2 Mar 2019 16:35:22 +0000 Subject: [PATCH 4/5] Fixes Rubocop Style/SafeNavigation. --- .rubocop_todo.yml | 14 -------------- lib/faraday/adapter.rb | 2 +- lib/faraday/adapter/httpclient.rb | 2 +- lib/faraday/adapter/net_http.rb | 2 +- lib/faraday/adapter/patron.rb | 2 +- lib/faraday/adapter/rack.rb | 4 ++-- lib/faraday/connection.rb | 6 +++--- lib/faraday/options/proxy_options.rb | 4 ++-- 8 files changed, 11 insertions(+), 25 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 1f04dbd5b..c79040bdb 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -280,20 +280,6 @@ Style/RescueStandardError: - 'lib/faraday/adapter/em_synchrony.rb' - 'lib/faraday/adapter/httpclient.rb' -# Offense count: 10 -# Cop supports --auto-correct. -# Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist. -# Whitelist: present?, blank?, presence, try, try! -Style/SafeNavigation: - Exclude: - - 'lib/faraday/adapter.rb' - - 'lib/faraday/adapter/httpclient.rb' - - 'lib/faraday/adapter/net_http.rb' - - 'lib/faraday/adapter/patron.rb' - - 'lib/faraday/adapter/rack.rb' - - 'lib/faraday/connection.rb' - - 'lib/faraday/options/proxy_options.rb' - # Offense count: 280 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https diff --git a/lib/faraday/adapter.rb b/lib/faraday/adapter.rb index 05d86b05b..4523d8884 100644 --- a/lib/faraday/adapter.rb +++ b/lib/faraday/adapter.rb @@ -53,7 +53,7 @@ def call(env) def save_response(env, status, body, headers = nil, reason_phrase = nil) env.status = status env.body = body - env.reason_phrase = reason_phrase && reason_phrase.to_s.strip + env.reason_phrase = reason_phrase&.to_s&.strip env.response_headers = Utils::Headers.new.tap do |response_headers| response_headers.update headers unless headers.nil? yield(response_headers) if block_given? diff --git a/lib/faraday/adapter/httpclient.rb b/lib/faraday/adapter/httpclient.rb index 50606ed84..68f2e694b 100644 --- a/lib/faraday/adapter/httpclient.rb +++ b/lib/faraday/adapter/httpclient.rb @@ -112,7 +112,7 @@ def configure_timeouts(req) end def configure_client - @config_block.call(client) if @config_block + @config_block&.call(client) end # @param ssl [Hash] diff --git a/lib/faraday/adapter/net_http.rb b/lib/faraday/adapter/net_http.rb index 76a8f72e9..ab219e678 100644 --- a/lib/faraday/adapter/net_http.rb +++ b/lib/faraday/adapter/net_http.rb @@ -163,7 +163,7 @@ def configure_request(http, req) # Only set if Net::Http supports it, since Ruby 2.5. http.max_retries = 0 if http.respond_to?(:max_retries=) - @config_block.call(http) if @config_block + @config_block&.call(http) end def ssl_cert_store(ssl) diff --git a/lib/faraday/adapter/patron.rb b/lib/faraday/adapter/patron.rb index edff563d3..3a42a2651 100644 --- a/lib/faraday/adapter/patron.rb +++ b/lib/faraday/adapter/patron.rb @@ -12,7 +12,7 @@ def call(env) env[:body] = env[:body].read if env[:body].respond_to? :read session = ::Patron::Session.new - @config_block.call(session) if @config_block + @config_block&.call(session) configure_ssl(session, env[:ssl]) if (env[:url].scheme == 'https') && env[:ssl] if (req = env[:request]) diff --git a/lib/faraday/adapter/rack.rb b/lib/faraday/adapter/rack.rb index 378b49eae..b0e3f9d94 100644 --- a/lib/faraday/adapter/rack.rb +++ b/lib/faraday/adapter/rack.rb @@ -35,11 +35,11 @@ def call(env) 'rack.url_scheme' => env[:url].scheme } - env[:request_headers].each do |name, value| + env[:request_headers]&.each do |name, value| name = name.upcase.tr('-', '_') name = "HTTP_#{name}" unless SPECIAL_HEADERS.include? name rack_env[name] = value - end if env[:request_headers] + end timeout = env[:request][:timeout] || env[:request][:open_timeout] response = if timeout diff --git a/lib/faraday/connection.rb b/lib/faraday/connection.rb index c5fadb4cf..840ef5ba2 100644 --- a/lib/faraday/connection.rb +++ b/lib/faraday/connection.rb @@ -344,7 +344,7 @@ def default_parallel_manager @default_parallel_manager ||= begin adapter = @builder.adapter.klass if @builder.adapter - if adapter && adapter.respond_to?(:supports_parallel?) && adapter.supports_parallel? + if adapter&.respond_to?(:supports_parallel?) && adapter&.supports_parallel? adapter.setup_parallel_manager elsif block_given? yield @@ -372,7 +372,7 @@ def in_parallel(manager = nil) nil end yield - @parallel_manager && @parallel_manager.run + @parallel_manager&.run ensure @parallel_manager = nil end @@ -512,7 +512,7 @@ def build_exclusive_url(url = nil, params = nil, params_encoder = nil) end uri = url ? base + url : base uri.query = params.to_query(params_encoder || options.params_encoder) if params - uri.query = nil if uri.query && uri.query.empty? + uri.query = nil if uri.query&.empty? uri end diff --git a/lib/faraday/options/proxy_options.rb b/lib/faraday/options/proxy_options.rb index 5056c2730..3268711b5 100644 --- a/lib/faraday/options/proxy_options.rb +++ b/lib/faraday/options/proxy_options.rb @@ -19,7 +19,7 @@ def self.from(value) super(value) end - memoized(:user) { uri && uri.user && Utils.unescape(uri.user) } - memoized(:password) { uri && uri.password && Utils.unescape(uri.password) } + memoized(:user) { uri&.user && Utils.unescape(uri.user) } + memoized(:password) { uri&.password && Utils.unescape(uri.password) } end end From 7931f07d6f317fc3264faf709f81e73a464750bf Mon Sep 17 00:00:00 2001 From: iMacTia Date: Sat, 2 Mar 2019 16:36:16 +0000 Subject: [PATCH 5/5] Regenerates Rubocop TODOs. --- .rubocop_todo.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index c79040bdb..f07ef0387 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,12 +1,12 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2019-03-02 12:16:32 +0100 using RuboCop version 0.65.0. +# on 2019-03-02 16:35:49 +0000 using RuboCop version 0.65.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 41 +# Offense count: 40 Metrics/AbcSize: Max: 86 @@ -21,7 +21,7 @@ Metrics/BlockLength: Metrics/ClassLength: Max: 216 -# Offense count: 20 +# Offense count: 19 Metrics/CyclomaticComplexity: Max: 20 @@ -35,7 +35,7 @@ Metrics/MethodLength: Metrics/ModuleLength: Max: 101 -# Offense count: 19 +# Offense count: 17 Metrics/PerceivedComplexity: Max: 21 @@ -146,14 +146,13 @@ Style/ModuleFunction: Exclude: - 'lib/faraday/utils.rb' -# Offense count: 6 +# Offense count: 5 # Cop supports --auto-correct. Style/MultilineIfModifier: Exclude: - 'lib/faraday/adapter/em_http.rb' - 'lib/faraday/adapter/em_synchrony.rb' - 'lib/faraday/adapter/net_http_persistent.rb' - - 'lib/faraday/adapter/rack.rb' - 'test/adapters/em_http_test.rb' - 'test/helper.rb'