From a21adc1c3d8b3ef9500a5fdde798ce3c80b65959 Mon Sep 17 00:00:00 2001 From: mkmn Date: Wed, 9 Nov 2022 18:46:52 +0900 Subject: [PATCH 1/2] Compatible Faraday v2 --- Gemfile.lock | 136 ++++++++++++++++++++++----------------------- kiji.gemspec | 4 +- lib/kiji/client.rb | 10 +++- 3 files changed, 77 insertions(+), 73 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2d1dd2b..6571e00 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,47 +2,38 @@ PATH remote: . specs: kiji (0.2.2) - faraday + faraday (< 3) nokogiri GEM remote: https://rubygems.org/ specs: - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - ast (2.4.0) - byebug (11.0.1) - coderay (1.1.2) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) + ast (2.4.2) + byebug (11.1.3) + coderay (1.1.3) crack (0.4.5) rexml - diff-lcs (1.3) - dotenv (2.7.5) - faraday (1.4.2) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) - multipart-post (>= 1.2, < 3) + diff-lcs (1.5.0) + dotenv (2.8.1) + faraday (2.6.0) + faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.1.0) - ffi (1.14.2) - formatador (0.2.5) - guard (2.16.1) + faraday-net_http (3.0.1) + ffi (1.15.5) + formatador (1.1.0) + guard (2.18.0) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) lumberjack (>= 1.0.12, < 2.0) nenv (~> 0.1) notiffany (~> 0.0) - pry (>= 0.9.12) + pry (>= 0.13.0) shellany (~> 0.0) thor (>= 0.18.1) - guard-bundler (2.2.1) - bundler (>= 1.3.0, < 3) + guard-bundler (3.0.0) + bundler (>= 2.1, < 3) guard (~> 2.2) guard-compat (~> 1.1) guard-compat (1.2.1) @@ -50,18 +41,17 @@ GEM guard (~> 2.1) guard-compat (~> 1.1) rspec (>= 2.99.0, < 4.0) - guard-rubocop (1.3.0) + guard-rubocop (1.5.0) guard (~> 2.0) - rubocop (~> 0.20) + rubocop (< 2.0) hashdiff (1.0.1) - jaro_winkler (1.5.4) - listen (3.4.1) + json (2.6.2) + listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - lumberjack (1.0.13) - method_source (0.9.2) + lumberjack (1.2.8) + method_source (1.0.0) mini_portile2 (2.8.0) - multipart-post (2.1.1) nenv (0.3.0) nokogiri (1.13.9) mini_portile2 (~> 2.8.0) @@ -69,52 +59,58 @@ GEM notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) - parallel (1.19.1) - parser (2.6.5.0) - ast (~> 2.4.0) - pry (0.12.2) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - pry-byebug (3.7.0) + parallel (1.22.1) + parser (3.1.2.1) + ast (~> 2.4.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) byebug (~> 11.0) - pry (~> 0.10) - public_suffix (4.0.6) + pry (>= 0.13, < 0.15) + public_suffix (5.0.0) racc (1.6.0) - rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.4) + rainbow (3.1.1) + rake (13.0.6) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) + regexp_parser (2.6.0) rexml (3.2.5) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.0) - rspec-support (~> 3.9.0) - rspec-expectations (3.9.0) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-core (3.12.0) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-support (3.9.0) - rubocop (0.77.0) - jaro_winkler (~> 1.5.1) + rspec-support (~> 3.12.0) + rspec-support (3.12.0) + rubocop (1.38.0) + json (~> 2.3) parallel (~> 1.10) - parser (>= 2.6) + parser (>= 3.1.2.1) rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.23.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - ruby-progressbar (1.10.1) - ruby2_keywords (0.0.4) - rubyzip (2.0.0) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.23.0) + parser (>= 3.1.1.0) + ruby-progressbar (1.11.0) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) shellany (0.0.1) - thor (0.20.3) - unicode-display_width (1.6.0) - vcr (6.0.0) - webmock (3.11.2) - addressable (>= 2.3.6) + thor (1.2.1) + unicode-display_width (2.3.0) + vcr (6.1.0) + webmock (3.18.1) + addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -122,7 +118,7 @@ PLATFORMS ruby DEPENDENCIES - bundler (~> 1.8) + bundler dotenv guard guard-bundler @@ -138,4 +134,4 @@ DEPENDENCIES webmock BUNDLED WITH - 2.2.32 + 2.3.25 diff --git a/kiji.gemspec b/kiji.gemspec index 248b069..9d12255 100644 --- a/kiji.gemspec +++ b/kiji.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_development_dependency 'bundler', '~> 1.8' + spec.add_development_dependency 'bundler' spec.add_development_dependency 'dotenv' spec.add_development_dependency 'guard' spec.add_development_dependency 'guard-bundler' @@ -35,6 +35,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'webmock' # spec.add_runtime_dependency 'signer' - spec.add_runtime_dependency 'faraday' + spec.add_runtime_dependency 'faraday', '< 3' spec.add_runtime_dependency 'nokogiri' end diff --git a/lib/kiji/client.rb b/lib/kiji/client.rb index a8fd219..81f7137 100644 --- a/lib/kiji/client.rb +++ b/lib/kiji/client.rb @@ -24,13 +24,21 @@ def connection Faraday.new(url: @api_end_point) do |c| # c.response :logger c.adapter Faraday.default_adapter - c.basic_auth(@basic_auth_id, @basic_auth_password) unless @basic_auth_id.nil? + c.request(*authentication_middleware_keys, @basic_auth_id, @basic_auth_password) unless @basic_auth_id.nil? c.headers['User-Agent'] = 'SmartHR v0.0.1' c.headers['x-eGovAPI-SoftwareID'] = software_id c.headers['x-eGovAPI-AccessKey'] = access_key unless access_key.nil? end end + def authentication_middleware_keys + if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0.0') + %i[authorization basic] + else + [:basic_auth] + end + end + def sign(appl_data) raise 'Please specify cert & private_key' if cert.nil? || private_key.nil? From 7cbf9defafaabf319377a3dd7b42ff2ff8d1dd8e Mon Sep 17 00:00:00 2001 From: mkmn Date: Thu, 10 Nov 2022 13:01:48 +0900 Subject: [PATCH 2/2] add faraday metrix test --- .github/workflows/test.yml | 9 +++++++-- gemfiles/faraday_0.gemfile | 5 +++++ gemfiles/faraday_1.gemfile | 5 +++++ gemfiles/faraday_2.gemfile | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 gemfiles/faraday_0.gemfile create mode 100644 gemfiles/faraday_1.gemfile create mode 100644 gemfiles/faraday_2.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7d70589..8bbd7ea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,9 +21,14 @@ jobs: - 2.7 - '3.0' # Quoted, to avoid YAML float 3.0 interplated to "3" - 3.1 - + gemfile: + - faraday_0 + - faraday_1 + - faraday_2 + env: + BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} diff --git a/gemfiles/faraday_0.gemfile b/gemfiles/faraday_0.gemfile new file mode 100644 index 0000000..3395e26 --- /dev/null +++ b/gemfiles/faraday_0.gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" + +gem "faraday", "~> 0" + +eval_gemfile File.expand_path("../Gemfile", __dir__) diff --git a/gemfiles/faraday_1.gemfile b/gemfiles/faraday_1.gemfile new file mode 100644 index 0000000..9e37249 --- /dev/null +++ b/gemfiles/faraday_1.gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" + +gem "faraday", "~> 1" + +eval_gemfile File.expand_path("../Gemfile", __dir__) diff --git a/gemfiles/faraday_2.gemfile b/gemfiles/faraday_2.gemfile new file mode 100644 index 0000000..2512d20 --- /dev/null +++ b/gemfiles/faraday_2.gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" + +gem "faraday", "~> 2" + +eval_gemfile File.expand_path("../Gemfile", __dir__)