github-authentication 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a279af637a4369feb5bff421697bed089b09f8096d6829eccb37b3c4911d7ba9
4
- data.tar.gz: edb60c288c631aafd17fbc0b361fef03f86e019a38a77d1debcc1544627e424d
3
+ metadata.gz: 232b7d332cfdf5a3b6ec3e6854b13203dcc204c4f242d730ea2a8510bb25164a
4
+ data.tar.gz: 8715cff617884f40643eb2569704bca0ad3ce306277d0298806e550889d63b3f
5
5
  SHA512:
6
- metadata.gz: 10259c8db9c441f9d899962653a0307cc0eed4584797135857c883a047c4609027909cf7bfdc2828ebe6b3b9f520244cdf4267e0fa8957fa2daea46795bbc83b
7
- data.tar.gz: f6d4ab126dbc799ec03fea9a6d7c5893d4abae73fb50b16cb3a15169876f615ee01756593d21d1b86f7cadf88b8630faa6f7fd7ca7941f49103031636bee078d
6
+ metadata.gz: ab1d75961e37a620932f1cefe273c00bd95e96332368a13268b868114649d1d8b96c4133770adb898c4a2c1a3502d7c16fab3e840671cc7f90064d89ce6835c1
7
+ data.tar.gz: 8ab8c0af8067b378f0a981173ff3e5ea53728c65cf6264a8ebeecd6fe8c30d75b739d89ec9aed893c292950bdc414ac2be46fe065eac48c722dbbbce98329f36
@@ -3,31 +3,47 @@ name: Tests
3
3
  on: [push]
4
4
 
5
5
  jobs:
6
+ lint:
7
+ runs-on: ubuntu-latest
8
+
9
+ strategy:
10
+ fail-fast: false
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: '2.7'
18
+ bundler-cache: true
19
+
20
+ - name: Lint Ruby
21
+ run: |
22
+ bin/rubocop
23
+
6
24
  ruby-tests:
7
25
  runs-on: ubuntu-latest
8
26
 
9
27
  strategy:
28
+ fail-fast: false
10
29
  matrix:
11
- ruby: [ '2.6' ]
30
+ ruby: [ '2.7', '3.0', '3.1', '3.2' ]
12
31
  steps:
13
- - uses: actions/checkout@v2
14
- - name: Set up Ruby ${{ matrix.ruby }}
15
- uses: actions/setup-ruby@v1
16
- with:
17
- ruby-version: ${{ matrix.ruby }}
32
+ - uses: actions/checkout@v4
33
+
18
34
  - name: Setup timezone
19
35
  uses: zcong1993/setup-timezone@master
20
36
  with:
21
37
  timezone: UTC
22
- - name: Lint Ruby
23
- run: |
24
- gem install bundler
25
- bundle install --jobs 4 --retry 3
26
- bin/rubocop
38
+
39
+ - name: Set up Ruby ${{ matrix.ruby }}
40
+ uses: ruby/setup-ruby@v1
41
+ with:
42
+ ruby-version: ${{ matrix.ruby }}
43
+ bundler-cache: true
44
+
27
45
  - name: Run Ruby tests
28
46
  run: |
29
- gem install bundler
30
- bundle install --jobs 4 --retry 3
31
47
  bin/rake test
32
48
  env:
33
49
  SUITE: ruby
data/.rubocop.yml CHANGED
@@ -2,8 +2,8 @@ inherit_gem:
2
2
  rubocop-shopify: rubocop.yml
3
3
 
4
4
  AllCops:
5
- TargetRubyVersion: 2.6
6
- CacheRootDirectory: tmp/rubocop
5
+ TargetRubyVersion: 2.7
6
+ CacheRootDirectory: tmp/rubocop-cache
7
7
  UseCache: true
8
8
 
9
9
  Style/MethodCallWithArgsParentheses:
@@ -18,6 +18,8 @@ Style/MethodCallWithArgsParentheses:
18
18
  - refute_nil
19
19
  - assert_kind_of
20
20
  - refute_kind_of
21
+ - assert_predicate
22
+ - refute_predicate
21
23
 
22
24
  Naming/FileName:
23
25
  Exclude:
data/Gemfile CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  source "https://rubygems.org"
3
4
 
4
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
data/Gemfile.lock CHANGED
@@ -1,75 +1,94 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- github-authentication (1.0.2)
4
+ github-authentication (1.1.0)
5
5
  jwt (~> 2.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (6.1.4.1)
10
+ activesupport (7.1.2)
11
+ base64
12
+ bigdecimal
11
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ connection_pool (>= 2.2.5)
15
+ drb
12
16
  i18n (>= 1.6, < 2)
13
17
  minitest (>= 5.1)
18
+ mutex_m
14
19
  tzinfo (~> 2.0)
15
- zeitwerk (~> 2.3)
16
- addressable (2.8.0)
17
- public_suffix (>= 2.0.2, < 5.0)
18
- ast (2.4.0)
19
- concurrent-ruby (1.1.9)
20
- crack (0.4.3)
21
- safe_yaml (~> 1.0.0)
20
+ addressable (2.8.5)
21
+ public_suffix (>= 2.0.2, < 6.0)
22
+ ast (2.4.2)
23
+ base64 (0.2.0)
24
+ bigdecimal (3.1.4)
25
+ concurrent-ruby (1.2.2)
26
+ connection_pool (2.4.1)
27
+ crack (0.4.5)
28
+ rexml
29
+ drb (2.2.0)
30
+ ruby2_keywords
22
31
  hashdiff (1.0.1)
23
- i18n (1.8.10)
32
+ i18n (1.14.1)
24
33
  concurrent-ruby (~> 1.0)
25
- jaro_winkler (1.5.4)
26
- jwt (2.3.0)
27
- minitest (5.14.0)
28
- mocha (1.11.2)
29
- parallel (1.19.1)
30
- parser (2.7.1.2)
31
- ast (~> 2.4.0)
32
- public_suffix (4.0.6)
33
- rainbow (3.0.0)
34
- rake (12.3.3)
35
- rexml (3.2.5)
36
- rubocop (0.82.0)
37
- jaro_winkler (~> 1.5.1)
34
+ json (2.6.3)
35
+ jwt (2.7.1)
36
+ language_server-protocol (3.17.0.3)
37
+ minitest (5.20.0)
38
+ mocha (2.1.0)
39
+ ruby2_keywords (>= 0.0.5)
40
+ mutex_m (0.2.0)
41
+ parallel (1.23.0)
42
+ parser (3.2.2.4)
43
+ ast (~> 2.4.1)
44
+ racc
45
+ public_suffix (5.0.4)
46
+ racc (1.7.3)
47
+ rainbow (3.1.1)
48
+ rake (13.1.0)
49
+ regexp_parser (2.8.2)
50
+ rexml (3.2.6)
51
+ rubocop (1.57.2)
52
+ json (~> 2.3)
53
+ language_server-protocol (>= 3.17.0)
38
54
  parallel (~> 1.10)
39
- parser (>= 2.7.0.1)
55
+ parser (>= 3.2.2.4)
40
56
  rainbow (>= 2.2.2, < 4.0)
41
- rexml
57
+ regexp_parser (>= 1.8, < 3.0)
58
+ rexml (>= 3.2.5, < 4.0)
59
+ rubocop-ast (>= 1.28.1, < 2.0)
42
60
  ruby-progressbar (~> 1.7)
43
- unicode-display_width (>= 1.4.0, < 2.0)
44
- rubocop-shopify (1.0.2)
45
- rubocop (~> 0.82.0)
46
- ruby-progressbar (1.10.1)
47
- safe_yaml (1.0.5)
48
- timecop (0.9.1)
49
- tzinfo (2.0.4)
61
+ unicode-display_width (>= 2.4.0, < 3.0)
62
+ rubocop-ast (1.30.0)
63
+ parser (>= 3.2.1.0)
64
+ rubocop-shopify (2.14.0)
65
+ rubocop (~> 1.51)
66
+ ruby-progressbar (1.13.0)
67
+ ruby2_keywords (0.0.5)
68
+ timecop (0.9.8)
69
+ tzinfo (2.0.6)
50
70
  concurrent-ruby (~> 1.0)
51
- unicode-display_width (1.7.0)
52
- vcr (5.1.0)
53
- webmock (3.8.3)
54
- addressable (>= 2.3.6)
71
+ unicode-display_width (2.5.0)
72
+ vcr (6.2.0)
73
+ webmock (3.19.1)
74
+ addressable (>= 2.8.0)
55
75
  crack (>= 0.3.2)
56
76
  hashdiff (>= 0.4.0, < 2.0.0)
57
- zeitwerk (2.4.2)
58
77
 
59
78
  PLATFORMS
60
- ruby
79
+ arm64-darwin-22
80
+ x86_64-linux
61
81
 
62
82
  DEPENDENCIES
63
83
  activesupport
64
84
  github-authentication!
65
85
  minitest (~> 5.0)
66
- mocha (~> 1.11)
67
- rake (~> 12.3)
68
- rubocop (~> 0.52)
86
+ mocha (~> 2)
87
+ rake (~> 13)
69
88
  rubocop-shopify
70
89
  timecop (~> 0.9)
71
- vcr (~> 5.1)
90
+ vcr (~> 6.2)
72
91
  webmock (~> 3.8)
73
92
 
74
93
  BUNDLED WITH
75
- 2.2.22
94
+ 2.4.21
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "bundler/gem_tasks"
3
4
  require "rake/testtask"
4
5
 
data/bin/rake CHANGED
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require "pathname"
12
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
- Pathname.new(__FILE__).realpath)
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path(
13
+ "../../Gemfile",
14
+ Pathname.new(__FILE__).realpath,
15
+ )
14
16
 
15
17
  bundle_binstub = File.expand_path("../bundle", __FILE__)
16
18
 
data/bin/rubocop CHANGED
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require "pathname"
12
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
- Pathname.new(__FILE__).realpath)
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path(
13
+ "../../Gemfile",
14
+ Pathname.new(__FILE__).realpath,
15
+ )
14
16
 
15
17
  bundle_binstub = File.expand_path("../bundle", __FILE__)
16
18
 
@@ -1,30 +1,30 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'github_authentication'
4
+ require "github_authentication"
5
5
 
6
6
  begin
7
- require 'active_support'
8
- require 'active_support/cache'
9
- require 'active_support/notifications'
7
+ require "active_support"
8
+ require "active_support/cache"
9
+ require "active_support/notifications"
10
10
  rescue LoadError
11
11
  warn("Active Support is required for the credential helper")
12
12
  exit(2)
13
13
  end
14
14
 
15
15
  case ARGV[0]
16
- when 'get'
16
+ when "get"
17
17
  exit_status = GithubAuthentication::GitCredentialHelper.new(
18
- pem: File.read(ENV.fetch('GITHUB_APP_KEYFILE')),
19
- app_id: ENV.fetch('GITHUB_APP_ID'),
20
- installation_id: ENV.fetch('GITHUB_APP_INSTALLATION_ID'),
21
- storage: ActiveSupport::Cache::FileStore.new(ENV.fetch('GITHUB_APP_CREDENTIAL_STORAGE_PATH'))
18
+ pem: File.read(ENV.fetch("GITHUB_APP_KEYFILE")),
19
+ app_id: ENV.fetch("GITHUB_APP_ID"),
20
+ installation_id: ENV.fetch("GITHUB_APP_INSTALLATION_ID"),
21
+ storage: ActiveSupport::Cache::FileStore.new(ENV.fetch("GITHUB_APP_CREDENTIAL_STORAGE_PATH")),
22
22
  ).handle_get
23
23
  exit(exit_status)
24
- when 'store'
24
+ when "store"
25
25
  # We maintain our own internal storage, so no-op any `store` requests
26
- when nil, ''
27
- warn('Supported operations: get, store')
26
+ when nil, ""
27
+ warn("Supported operations: get, store")
28
28
  exit(1)
29
29
  else
30
30
  warn("Unknown argument: #{ARGV[0]}")
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  # Specify which files should be added to the gem when it is released.
30
30
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
31
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
31
+ spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
32
32
  %x(git ls-files -z).split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
33
33
  end
34
34
  spec.bindir = "exe"
@@ -37,13 +37,12 @@ Gem::Specification.new do |spec|
37
37
 
38
38
  spec.add_dependency("jwt", "~> 2.2")
39
39
 
40
- spec.add_development_dependency("rake", "~> 12.3")
40
+ spec.add_development_dependency("activesupport")
41
41
  spec.add_development_dependency("minitest", "~> 5.0")
42
+ spec.add_development_dependency("mocha", "~> 2")
43
+ spec.add_development_dependency("rake", "~> 13")
44
+ spec.add_development_dependency("rubocop-shopify")
42
45
  spec.add_development_dependency("timecop", "~> 0.9")
43
- spec.add_development_dependency("mocha", "~> 1.11")
46
+ spec.add_development_dependency("vcr", "~> 6.2")
44
47
  spec.add_development_dependency("webmock", "~> 3.8")
45
- spec.add_development_dependency("vcr", "~> 5.1")
46
- spec.add_development_dependency("rubocop", "~> 0.52")
47
- spec.add_development_dependency("rubocop-shopify")
48
- spec.add_development_dependency("activesupport")
49
48
  end
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'github_authentication/token'
3
+ require "github_authentication/token"
4
4
 
5
5
  module GithubAuthentication
6
6
  class Cache
7
7
  # storage = ActiveSupport::Cache
8
- def initialize(storage:, key: '')
8
+ def initialize(storage:, key: "")
9
9
  @storage = storage
10
10
  @key = "github:authentication:#{key}"
11
11
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'jwt'
3
+ require "jwt"
4
4
  require "uri"
5
- require 'openssl'
5
+ require "openssl"
6
6
 
7
7
  require "github_authentication/http"
8
8
 
@@ -13,14 +13,14 @@ module GithubAuthentication
13
13
  def handle_get
14
14
  description = parse_stdin
15
15
 
16
- unless description['protocol'] == 'https' && description['host'] == 'github.com'
16
+ unless description["protocol"] == "https" && description["host"] == "github.com"
17
17
  warn("Unsupported description: #{description}")
18
18
  return 2
19
19
  end
20
20
 
21
21
  token = provider.token(seconds_ttl: min_cache_ttl)
22
22
  puts("password=#{token}")
23
- puts('username=api')
23
+ puts("username=api")
24
24
 
25
25
  0
26
26
  end
@@ -35,13 +35,13 @@ module GithubAuthentication
35
35
  def parse_stdin
36
36
  # Credential description is written to STDIN in line delimited key=value form,
37
37
  # see https://git-scm.com/docs/git-credential#IOFMT
38
- @stdin.each_line.map { |line| line.split('=', 2).map(&:strip) }.to_h
38
+ @stdin.each_line.map { |line| line.split("=", 2).map(&:strip) }.to_h
39
39
  end
40
40
 
41
41
  def provider
42
42
  @provider ||= Provider.new(
43
43
  generator: generator,
44
- cache: Cache.new(storage: @storage || ObjectCache.new)
44
+ cache: Cache.new(storage: @storage || ObjectCache.new),
45
45
  )
46
46
  end
47
47
 
@@ -49,7 +49,7 @@ module GithubAuthentication
49
49
  @generator ||= Generator::App.new(
50
50
  pem: @pem,
51
51
  app_id: @app_id,
52
- installation_id: @installation_id
52
+ installation_id: @installation_id,
53
53
  )
54
54
  end
55
55
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'net/http'
4
- require 'timeout'
3
+ require "net/http"
4
+ require "timeout"
5
5
 
6
- require 'github_authentication/retriable'
6
+ require "github_authentication/retriable"
7
7
 
8
8
  module GithubAuthentication
9
9
  module Http
@@ -17,7 +17,6 @@ module GithubAuthentication
17
17
  http.use_ssl = true
18
18
  http.start
19
19
  begin
20
-
21
20
  request = Net::HTTP::Post.new(uri.request_uri)
22
21
  yield(request) if block_given?
23
22
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'github_authentication/token'
3
+ require "github_authentication/token"
4
4
 
5
5
  module GithubAuthentication
6
6
  class ObjectCache
@@ -14,7 +14,7 @@ module GithubAuthentication
14
14
  options = @cache[key][:options]
15
15
  if options.key?(:expires_at) && Time.now.utc > options[:expires_at]
16
16
  @cache.delete(key)
17
- return nil
17
+ return
18
18
  end
19
19
 
20
20
  @cache[key][:value]
@@ -1,28 +1,26 @@
1
1
  # frozen_string_literal: true
2
- require "mutex_m.rb"
3
2
 
4
- require 'github_authentication/retriable'
3
+ require "github_authentication/retriable"
5
4
 
6
5
  module GithubAuthentication
7
6
  class Provider
8
7
  include Retriable
9
- include Mutex_m
10
8
 
11
9
  Error = Class.new(StandardError)
12
10
  TokenGeneratorError = Class.new(Error)
13
11
 
14
12
  def initialize(generator:, cache:)
15
- super()
16
13
  @token = nil
17
14
  @generator = generator
18
15
  @cache = cache
16
+ @mutex = Mutex.new
19
17
  end
20
18
 
21
19
  def token(seconds_ttl: 5 * 60)
22
20
  return @token if @token&.valid_for?(seconds_ttl)
23
21
 
24
22
  with_retries(TokenGeneratorError) do
25
- mu_synchronize do
23
+ @mutex.synchronize do
26
24
  return @token if @token&.valid_for?(seconds_ttl)
27
25
 
28
26
  if (@token = @cache.read)
@@ -9,12 +9,12 @@ module GithubAuthentication
9
9
  begin
10
10
  return_value = yield(attempt, previous_failure)
11
11
  rescue *exceptions => exception
12
- raise unless attempt < max_attempts
12
+ raise if attempt >= max_attempts
13
13
 
14
14
  sleep_after_attempt(
15
15
  attempt: attempt,
16
16
  base_sleep_time: sleep_between_attempts,
17
- exponential_backoff: exponential_backoff
17
+ exponential_backoff: exponential_backoff,
18
18
  )
19
19
 
20
20
  attempt += 1
@@ -28,7 +28,7 @@ module GithubAuthentication
28
28
  private
29
29
 
30
30
  def sleep_after_attempt(attempt:, base_sleep_time:, exponential_backoff:)
31
- return unless base_sleep_time > 0
31
+ return if base_sleep_time <= 0
32
32
 
33
33
  time_to_sleep = if exponential_backoff
34
34
  calculate_exponential_backoff(attempt: attempt, base_sleep_time: base_sleep_time)
@@ -1,18 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
3
+ require "json"
4
4
 
5
5
  module GithubAuthentication
6
6
  class Token
7
7
  attr_reader :expires_at
8
8
 
9
- def self.from_json(data)
10
- return nil if data.nil?
9
+ class << self
10
+ def from_json(data)
11
+ return if data.nil?
11
12
 
12
- token, expires_at = JSON.parse(data).values_at('token', 'expires_at')
13
- new(token, Time.iso8601(expires_at))
14
- rescue JSON::ParserError
15
- nil
13
+ token, expires_at = JSON.parse(data).values_at("token", "expires_at")
14
+ new(token, Time.iso8601(expires_at))
15
+ rescue JSON::ParserError
16
+ nil
17
+ end
16
18
  end
17
19
 
18
20
  def initialize(token, expires_at)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GithubAuthentication
4
- VERSION = "1.0.2"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frederik Dudzik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2023-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '12.3'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '12.3'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,103 +53,89 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: timecop
56
+ name: mocha
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.9'
61
+ version: '2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.9'
68
+ version: '2'
69
69
  - !ruby/object:Gem::Dependency
70
- name: mocha
70
+ name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.11'
75
+ version: '13'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.11'
82
+ version: '13'
83
83
  - !ruby/object:Gem::Dependency
84
- name: webmock
84
+ name: rubocop-shopify
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '3.8'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '3.8'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: vcr
98
+ name: timecop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '5.1'
103
+ version: '0.9'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '5.1'
110
+ version: '0.9'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rubocop
112
+ name: vcr
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.52'
117
+ version: '6.2'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.52'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-shopify
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
124
+ version: '6.2'
139
125
  - !ruby/object:Gem::Dependency
140
- name: activesupport
126
+ name: webmock
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
- - - ">="
129
+ - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '0'
131
+ version: '3.8'
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
- - - ">="
136
+ - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: '0'
138
+ version: '3.8'
153
139
  description: Authenticate with GitHub
154
140
  email:
155
141
  - frederik.dudzik@shopify.com
@@ -161,7 +147,6 @@ files:
161
147
  - ".github/workflows/tests.yml"
162
148
  - ".gitignore"
163
149
  - ".rubocop.yml"
164
- - ".travis.yml"
165
150
  - Gemfile
166
151
  - Gemfile.lock
167
152
  - LICENSE.txt
@@ -209,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
194
  - !ruby/object:Gem::Version
210
195
  version: '0'
211
196
  requirements: []
212
- rubygems_version: 3.2.20
197
+ rubygems_version: 3.4.21
213
198
  signing_key:
214
199
  specification_version: 4
215
200
  summary: GitHub Authetication
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.3
7
- before_install: gem install bundler -v 1.17.2