glogin 0.12.0 → 0.14.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: d64766709045453b457180e430e7c21e92e0d2aa83aaf5045496dd579f20ecb4
4
- data.tar.gz: '0829be0aa00b90774dfe10c2f2a0957dac27bb516f3c5558127432dea85453fc'
3
+ metadata.gz: 276e84fbfff7c015118724369f25d3d5da61fae762762cf96c5bd53fc1bbf7b0
4
+ data.tar.gz: 445af8bffcb5359e4e8170b7b9abe0596d28b538b0f07bde510245a0e03b4196
5
5
  SHA512:
6
- metadata.gz: 6242a74d222652a65b6039c10c584e4bd32f581e279d38c86e435f40a1abaac0fcde212f8b827a826d7ebef36e80310072b6636ffe840b341ae3cf636a2499c3
7
- data.tar.gz: af688ddc396853533c69b4377c9fe3e4dc3308d8cb9c11d8ef0113c39aa806c8f78d6b22562853aafc26ac89c89d75f0b4604fbc74b8a062c83c2afd1773f4e1
6
+ metadata.gz: 466d1bdf480926b5b25d088560df94937adfa0c16a4156aaed125a5c37283d0ae3c2f4bcef8c0a3fc56d55802a198f43885557d528c941c1b257dec7ce7df02b
7
+ data.tar.gz: f9ffc87fc989b4969e4dcc96d10398ff7702f947f910048d56545bb6db0fb69b15f0752ad08549036e4ad8933c0fdd2c4ae6a835383d0f60edd052ba45c27cbe
@@ -8,13 +8,14 @@ jobs:
8
8
  codecov:
9
9
  runs-on: ubuntu-22.04
10
10
  steps:
11
- - uses: actions/checkout@v3
11
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
12
12
  - uses: ruby/setup-ruby@v1
13
13
  with:
14
14
  ruby-version: 2.7
15
15
  - run: bundle update
16
16
  - run: bundle exec rake
17
- - uses: codecov/codecov-action@v3
17
+ - uses: codecov/codecov-action@v4.0.0-beta.3
18
18
  with:
19
+ token: ${{ secrets.CODECOV_TOKEN }}
19
20
  file: coverage/.resultset.json
20
21
  fail_ci_if_error: true
@@ -2,10 +2,14 @@
2
2
  name: pdd
3
3
  on:
4
4
  push:
5
+ branches:
6
+ - master
5
7
  pull_request:
8
+ branches:
9
+ - master
6
10
  jobs:
7
11
  pdd:
8
12
  runs-on: ubuntu-22.04
9
13
  steps:
10
- - uses: actions/checkout@v3
11
- - uses: g4s8/pdd-action@master
14
+ - uses: actions/checkout@v4
15
+ - uses: volodya-lombrozo/pdd-action@master
@@ -16,7 +16,7 @@ jobs:
16
16
  ruby: [2.7, 3.2]
17
17
  runs-on: ${{ matrix.os }}
18
18
  steps:
19
- - uses: actions/checkout@v3
19
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
20
20
  - uses: ruby/setup-ruby@v1
21
21
  with:
22
22
  ruby-version: ${{ matrix.ruby }}
@@ -7,5 +7,5 @@ jobs:
7
7
  xcop:
8
8
  runs-on: ubuntu-22.04
9
9
  steps:
10
- - uses: actions/checkout@v3
10
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
11
11
  - uses: g4s8/xcop-action@master
data/.rultor.yml CHANGED
@@ -1,11 +1,10 @@
1
1
  docker:
2
- image: yegor256/rultor-image:1.19.0
2
+ image: yegor256/rultor-image:1.22.0
3
3
  assets:
4
4
  rubygems.yml: yegor256/home#assets/rubygems.yml
5
5
  install: |
6
- sudo gem install openssl -- --with-openssl-dir=/usr/local/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/openssl
7
6
  pdd -f /dev/null
8
- sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"
7
+ bundle install --no-color
9
8
  release:
10
9
  pre: false
11
10
  script: |-
data/.simplecov CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,11 +24,11 @@
24
24
  source 'https://rubygems.org'
25
25
  gemspec
26
26
 
27
- gem 'minitest', '5.19.0', require: false
28
- gem 'rake', '13.0.6', require: false
29
- gem 'rdoc', '6.5.0', require: false
30
- gem 'rspec-rails', '6.0.3', require: false
31
- gem 'rubocop', '1.56.0', require: false
32
- gem 'rubocop-rspec', '2.23.2', require: false
27
+ gem 'minitest', '5.20.0', require: false
28
+ gem 'rake', '13.1.0', require: false
29
+ gem 'rdoc', '6.6.1', require: false
30
+ gem 'rspec-rails', '6.1.0', require: false
31
+ gem 'rubocop', '1.60.1', require: false
32
+ gem 'rubocop-rspec', '2.26.1', require: false
33
33
  gem 'simplecov', '0.22.0', require: false
34
- gem 'webmock', '3.18.1', require: false
34
+ gem 'webmock', '3.19.1', require: false
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2017-2023 Yegor Bugayenko
3
+ Copyright (c) 2017-2024 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/glogin.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2017-2023 Yegor Bugayenko
3
+ # Copyright (c) 2017-2024 Yegor Bugayenko
4
4
  #
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  # of this software and associated documentation files (the 'Software'), to deal
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
41
41
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
42
42
  s.rdoc_options = ['--charset=UTF-8']
43
43
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
44
- s.add_runtime_dependency 'base58', '~>0.2'
45
- s.add_runtime_dependency 'openssl', '~>3.1'
44
+ s.add_runtime_dependency 'base58', '>= 0.2'
45
+ s.add_runtime_dependency 'openssl', '>= 2.0'
46
46
  s.metadata['rubygems_mfa_required'] = 'true'
47
47
  end
data/lib/glogin/auth.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require 'cgi'
28
28
 
29
29
  # GLogin main module.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2017-2023 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2017-2024 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  module GLogin
34
34
  #
@@ -48,7 +48,19 @@ module GLogin
48
48
  "https://github.com/login/oauth/authorize?client_id=#{CGI.escape(@id)}&redirect_uri=#{CGI.escape(@redirect)}"
49
49
  end
50
50
 
51
+ # Returns a hash with information about Github user,
52
+ # who just logged in with the authentication code.
53
+ #
54
+ # API: https://docs.github.com/en/rest/users/users?apiVersion=2022-11-28#get-the-authenticated-user
51
55
  def user(code)
56
+ if @secret.empty?
57
+ return {
58
+ 'id' => 526_301,
59
+ 'type' => 'User',
60
+ 'login' => 'yegor256',
61
+ 'avatar_url' => 'https://github.com/yegor256.png'
62
+ }
63
+ end
52
64
  raise 'Code can\'t be nil' if code.nil?
53
65
  uri = URI.parse('https://api.github.com/user')
54
66
  http = Net::HTTP.new(uri.host, uri.port)
data/lib/glogin/codec.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -29,7 +29,7 @@ require 'base64'
29
29
 
30
30
  # Codec.
31
31
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
- # Copyright:: Copyright (c) 2017-2023 Yegor Bugayenko
32
+ # Copyright:: Copyright (c) 2017-2024 Yegor Bugayenko
33
33
  # License:: MIT
34
34
  module GLogin
35
35
  # The codec
data/lib/glogin/cookie.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative 'codec'
28
28
 
29
29
  # GLogin main module.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2017-2023 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2017-2024 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  module GLogin
34
34
  # Split symbol inside the cookie text
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -23,8 +23,8 @@
23
23
 
24
24
  # GLogin main module.
25
25
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
26
- # Copyright:: Copyright (c) 2017-2023 Yegor Bugayenko
26
+ # Copyright:: Copyright (c) 2017-2024 Yegor Bugayenko
27
27
  # License:: MIT
28
28
  module GLogin
29
- VERSION = '0.12.0'
29
+ VERSION = '0.14.0'
30
30
  end
data/lib/glogin.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,7 +28,7 @@ require_relative 'glogin/cookie'
28
28
 
29
29
  # GLogin main module.
30
30
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
- # Copyright:: Copyright (c) 2017-2023 Yegor Bugayenko
31
+ # Copyright:: Copyright (c) 2017-2024 Yegor Bugayenko
32
32
  # License:: MIT
33
33
  module GLogin
34
34
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -53,4 +53,9 @@ class TestAuth < Minitest::Test
53
53
  )
54
54
  )
55
55
  end
56
+
57
+ def test_get_fake_user
58
+ auth = GLogin::Auth.new('99999', '', 'http://www.example.com/github-oauth')
59
+ assert_equal('yegor256', auth.user('1234567890')['login'])
60
+ end
56
61
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test__helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/test/test_glogin.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #
4
- # Copyright (c) 2017-2023 Yegor Bugayenko
4
+ # Copyright (c) 2017-2024 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@ require_relative '../lib/glogin'
26
26
 
27
27
  # GLogin main module test.
28
28
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2017-2023 Yegor Bugayenko
29
+ # Copyright:: Copyright (c) 2017-2024 Yegor Bugayenko
30
30
  # License:: MIT
31
31
  class TestGLogin < Minitest::Test
32
32
  def test_basic
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glogin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-25 00:00:00.000000000 Z
11
+ date: 2024-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base58
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: openssl
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '3.1'
33
+ version: '2.0'
34
34
  type: :runtime
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: '3.1'
40
+ version: '2.0'
41
41
  description: Enables login/logout functionality for a Ruby web app
42
42
  email: yegor256@gmail.com
43
43
  executables: []
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  requirements: []
98
- rubygems_version: 3.2.15
98
+ rubygems_version: 3.4.10
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: Login/logout via GitHub OAuth for your web app