diff --git a/.rubocop.yml b/.rubocop.yml index d4cfc33b..f08a887c 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,5 +1,5 @@ AllCops: - Includes: + Include: - 'Gemfile' - 'Rakefile' - 'http.gemspec' @@ -99,3 +99,18 @@ PercentLiteralDelimiters: Semicolon: Exclude: - 'spec/support/' + +# Do not force first argument to be separated with exactly single space. +# My (ixti) personal preference is to align code in columns when it makes +# sense: +# +# module HTTP +# module MimeType +# class JSON < Adapter +# register_adapter 'application/json', JSON +# register_alias 'application/json', :json +# end +# end +# end +SingleSpaceBeforeFirstArg: + Enabled: false diff --git a/Gemfile b/Gemfile index 5ccd6995..223a6807 100644 --- a/Gemfile +++ b/Gemfile @@ -21,7 +21,7 @@ group :test do gem 'json', '>= 1.8.1', :platforms => [:jruby, :rbx, :ruby_18, :ruby_19] gem 'mime-types', '~> 1.25', :platforms => [:jruby, :ruby_18] gem 'rspec', '>= 2.14' - gem 'rubocop', '~> 0.19.0', :platforms => [:ruby_19, :ruby_20, :ruby_21] + gem 'rubocop', '~> 0.22.0', :platforms => [:ruby_19, :ruby_20, :ruby_21] gem 'simplecov', :require => false gem 'yardstick' end diff --git a/lib/http/backports/uri.rb b/lib/http/backports/uri.rb index 28008fe4..9fca0441 100644 --- a/lib/http/backports/uri.rb +++ b/lib/http/backports/uri.rb @@ -81,11 +81,11 @@ def self.encode_www_form(enum) encode_www_form_component(k) elsif v.respond_to?(:to_ary) v.to_ary.map do |w| + next unless w + str = encode_www_form_component(k) - unless w.nil? - str << '=' - str << encode_www_form_component(w) - end + str << '=' + str << encode_www_form_component(w) end.join('&') else str = encode_www_form_component(k) diff --git a/lib/http/request.rb b/lib/http/request.rb index 4059b2f2..b021f222 100644 --- a/lib/http/request.rb +++ b/lib/http/request.rb @@ -48,7 +48,7 @@ class UnsupportedSchemeError < RequestError; end # The following method may be removed in two minor versions (0.7.0) or one # major version (1.0.0) - def method(*args) + def method(*) warn "#{Kernel.caller.first}: [DEPRECATION] HTTP::Request#method is deprecated. Use #verb instead. For Object#method, use #__method__." @verb end diff --git a/lib/http/response/parser.rb b/lib/http/response/parser.rb index 44ecd347..67c3ec19 100644 --- a/lib/http/response/parser.rb +++ b/lib/http/response/parser.rb @@ -42,10 +42,8 @@ def on_body(chunk) end def chunk - if (chunk = @chunk) - @chunk = nil - chunk - end + chunk, @chunk = @chunk, nil + chunk end def on_message_complete diff --git a/spec/http/client_spec.rb b/spec/http/client_spec.rb index 36583f2d..814e8338 100644 --- a/spec/http/client_spec.rb +++ b/spec/http/client_spec.rb @@ -133,7 +133,7 @@ def simple_response(body, status = 200) let(:client) { described_class.new :headers => headers } it 'keeps `Host` header as is' do - expect(client).to receive(:perform) do |req, options| + expect(client).to receive(:perform) do |req, _| expect(req['Host']).to eq 'another.example.com' end diff --git a/spec/support/example_server.rb b/spec/support/example_server.rb index 3483ecc7..77b4d964 100644 --- a/spec/support/example_server.rb +++ b/spec/support/example_server.rb @@ -41,18 +41,19 @@ def handle_root(request, response) end def handle_params(request, response) - if request.query_string == 'foo=bar' - response.status = 200 - response.body = 'Params!' - end + return unless request.query_string == 'foo=bar' + + response.status = 200 + response.body = 'Params!' end def handle_multiple_params(request, response) params = CGI.parse(request.query_string) - if params == {'foo' => ['bar'], 'baz' => ['quux']} - response.status = 200 - response.body = 'More Params!' - end + + return unless params == {'foo' => ['bar'], 'baz' => ['quux']} + + response.status = 200 + response.body = 'More Params!' end def do_POST(request, response) # rubocop:disable MethodName diff --git a/spec/support/proxy_server.rb b/spec/support/proxy_server.rb index d4c31d13..d9909264 100644 --- a/spec/support/proxy_server.rb +++ b/spec/support/proxy_server.rb @@ -1,8 +1,6 @@ require 'webrick/httpproxy' -handler = proc do | req, res | - res['X-PROXIED'] = true -end +handler = proc { |_, res| res['X-PROXIED'] = true } ProxyServer = WEBrick::HTTPProxyServer.new( :Port => 8080,