From a46c59176fb7075893fb5f2a890f9d01f50092d6 Mon Sep 17 00:00:00 2001 From: Phil Phillips Date: Fri, 25 Feb 2022 11:24:46 -0600 Subject: [PATCH 1/3] chore: default to net_http for adapter This similifies our dependencies a bit. Users can still opt to use the excon adapter if they wish. --- lib/tracker_api/client.rb | 2 +- tracker_api.gemspec | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/tracker_api/client.rb b/lib/tracker_api/client.rb index dc9c013..e9bf465 100644 --- a/lib/tracker_api/client.rb +++ b/lib/tracker_api/client.rb @@ -25,7 +25,7 @@ def initialize(options={}, &block) @url = Addressable::URI.parse(url).to_s @api_version = options.fetch(:api_version, '/services/v5') @logger = options.fetch(:logger, ::Logger.new(nil)) - adapter = options.fetch(:adapter) { defined?(JRUBY_VERSION) ? :net_http : :excon } + adapter = options.fetch(:adapter, :net_http) connection_options = options.fetch(:connection_options, { ssl: { verify: true } }) @auto_paginate = options.fetch(:auto_paginate, true) @token = options[:token] diff --git a/tracker_api.gemspec b/tracker_api.gemspec index e1aa3c4..591c465 100644 --- a/tracker_api.gemspec +++ b/tracker_api.gemspec @@ -31,7 +31,6 @@ Gem::Specification.new do |spec| spec.add_dependency 'virtus' spec.add_dependency 'faraday' spec.add_dependency 'faraday_middleware' - spec.add_dependency 'excon' spec.add_dependency 'equalizer' spec.add_dependency 'representable' spec.add_dependency 'multi_json' From 6d4c153185b730ee100d84cf354ff850b8882bb2 Mon Sep 17 00:00:00 2001 From: Phil Phillips Date: Fri, 25 Feb 2022 11:28:38 -0600 Subject: [PATCH 2/3] chore(deps): support Faraday 2.x - Remove faraday-middleware as most middleware now bundled with faraday - Require Faraday 1.10+ (1.10 adds json middleware used by us) --- lib/tracker_api.rb | 2 +- lib/tracker_api/logger.rb | 2 +- tracker_api.gemspec | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/tracker_api.rb b/lib/tracker_api.rb index f1a7e17..66b1806 100644 --- a/lib/tracker_api.rb +++ b/lib/tracker_api.rb @@ -2,7 +2,7 @@ # dependencies require 'faraday' -require 'faraday_middleware' +require 'faraday/multipart' require 'pathname' require 'mini_mime' diff --git a/lib/tracker_api/logger.rb b/lib/tracker_api/logger.rb index a1072d4..f364ba4 100644 --- a/lib/tracker_api/logger.rb +++ b/lib/tracker_api/logger.rb @@ -1,5 +1,5 @@ module TrackerApi - class Logger < Faraday::Response::Middleware + class Logger < Faraday::Middleware extend Forwardable def initialize(app, logger = nil) diff --git a/tracker_api.gemspec b/tracker_api.gemspec index 591c465..78eb342 100644 --- a/tracker_api.gemspec +++ b/tracker_api.gemspec @@ -29,8 +29,8 @@ Gem::Specification.new do |spec| spec.add_dependency 'addressable' spec.add_dependency 'virtus' - spec.add_dependency 'faraday' - spec.add_dependency 'faraday_middleware' + spec.add_dependency 'faraday', ['>= 1.10', '< 3.0'] + spec.add_dependency 'faraday-multipart' spec.add_dependency 'equalizer' spec.add_dependency 'representable' spec.add_dependency 'multi_json' From 7dc744f48e6c82977290caa6f9fb189877452c4b Mon Sep 17 00:00:00 2001 From: Phil Phillips Date: Fri, 25 Feb 2022 11:40:25 -0600 Subject: [PATCH 3/3] build: add different faraday versions to build matrix --- .github/workflows/ruby-tests.yml | 7 ++++++- gemfiles/faraday-1.gemfile | 5 +++++ gemfiles/faraday-2.gemfile | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 gemfiles/faraday-1.gemfile create mode 100644 gemfiles/faraday-2.gemfile diff --git a/.github/workflows/ruby-tests.yml b/.github/workflows/ruby-tests.yml index 57ddfac..7a28d40 100644 --- a/.github/workflows/ruby-tests.yml +++ b/.github/workflows/ruby-tests.yml @@ -9,12 +9,17 @@ on: jobs: test: + name: Specs - Ruby ${{ matrix.ruby-version }} ${{matrix.gemfile}} runs-on: ubuntu-latest env: CC_TEST_REPORTER_ID: 2a6849be8214739deef0090b810b945ce9a550a4d8279d242cb03242d1ad53c5 + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile strategy: matrix: + gemfile: + - faraday-1 + - faraday-2 ruby-version: - "3.1" - "3.0" @@ -35,4 +40,4 @@ jobs: run: bundle exec rake test - name: Upload Coverage uses: paambaati/codeclimate-action@v3.0.0 - if: matrix.ruby-version == '3.1' + if: matrix.ruby-version == '3.1' && matrix.gemfile == 'faraday-2' diff --git a/gemfiles/faraday-1.gemfile b/gemfiles/faraday-1.gemfile new file mode 100644 index 0000000..ba1127a --- /dev/null +++ b/gemfiles/faraday-1.gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +gem 'faraday', '~> 1.10' + +gemspec path: '../' diff --git a/gemfiles/faraday-2.gemfile b/gemfiles/faraday-2.gemfile new file mode 100644 index 0000000..d4dd615 --- /dev/null +++ b/gemfiles/faraday-2.gemfile @@ -0,0 +1,5 @@ +source 'https://rubygems.org' + +gem 'faraday', '~> 2.2' + +gemspec path: '../'