sudokku_cli 0.1.0 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +24 -1
- data/README.md +3 -5
- data/bin/sudokku +1 -1
- data/lib/sudokku_cli/version.rb +1 -1
- data/lib/sudokku_cli.rb +11 -6
- data/sig/sudokku_cli.rbs +1 -0
- data/sudokku_cli.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf4d1e878e25e462944a13634c80a917a85c54c6f201a46647068cb3e6ec02a8
|
4
|
+
data.tar.gz: bd19ae69b90e05a588083c96070659abbe01fbf902c4644af09c40db8946c056
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6f9e63b64f139e65e9da03818119a37bd14255f13b6c24a10323df990cafa020d52e12c90e50c410a936ebb234f0c13c918b1467de6c6a3414dfc974a6b09eb
|
7
|
+
data.tar.gz: fadccd47ce0edd1ce31f2922bd109ac631254f5f6bc664be45d4859fa6da7a0d1621e8c06988e89753dd71c17cc52d7687d552625b1daa9beef58772b39a9cd1
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,18 +1,41 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sudokku_cli (0.1.
|
4
|
+
sudokku_cli (0.1.2)
|
5
|
+
json
|
6
|
+
net-http
|
7
|
+
netrc
|
8
|
+
open-uri
|
5
9
|
|
6
10
|
GEM
|
7
11
|
remote: https://rubygems.org/
|
8
12
|
specs:
|
13
|
+
date (3.3.3)
|
14
|
+
dotenv (2.8.1)
|
15
|
+
json (2.6.1)
|
9
16
|
minitest (5.17.0)
|
17
|
+
net-http (0.2.0)
|
18
|
+
net-protocol
|
19
|
+
uri
|
20
|
+
net-protocol (0.2.1)
|
21
|
+
timeout
|
22
|
+
netrc (0.11.0)
|
23
|
+
open-uri (0.2.0)
|
24
|
+
stringio
|
25
|
+
time
|
26
|
+
uri
|
10
27
|
rake (13.0.6)
|
28
|
+
stringio (3.0.1)
|
29
|
+
time (0.2.0)
|
30
|
+
date
|
31
|
+
timeout (0.3.2)
|
32
|
+
uri (0.11.0)
|
11
33
|
|
12
34
|
PLATFORMS
|
13
35
|
x86_64-linux
|
14
36
|
|
15
37
|
DEPENDENCIES
|
38
|
+
dotenv
|
16
39
|
minitest (~> 5.0)
|
17
40
|
rake (~> 13.0)
|
18
41
|
sudokku_cli!
|
data/README.md
CHANGED
@@ -4,15 +4,13 @@ A CLI program for logging in to Sudokku git server.
|
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
$ gem install UPDATE_WITH_YOUR_GEM_NAME_PRIOR_TO_RELEASE_TO_RUBYGEMS_ORG
|
7
|
+
$ gem install sudokku_cli
|
10
8
|
|
11
9
|
## Usage
|
12
10
|
|
13
11
|
Use `sudokku login` to log in to the Sudokku git server. This will try to connect to the git server using credentials saved
|
14
|
-
in
|
15
|
-
After successfully logging in, the program will save the newly generated credentials to
|
12
|
+
in your .netrc file. If the credentials are not found, or are expired, you will be given a url to visit where you can log in.
|
13
|
+
After successfully logging in, the program will save the newly generated credentials to your .netrc file.
|
16
14
|
|
17
15
|
[//]: # (## Development)
|
18
16
|
|
data/bin/sudokku
CHANGED
data/lib/sudokku_cli/version.rb
CHANGED
data/lib/sudokku_cli.rb
CHANGED
@@ -4,39 +4,44 @@ require_relative "sudokku_cli/version"
|
|
4
4
|
require 'netrc'
|
5
5
|
require 'json'
|
6
6
|
require 'open-uri'
|
7
|
+
require 'net/http'
|
8
|
+
require 'dotenv/load'
|
7
9
|
|
8
10
|
module SudokkuCli
|
9
11
|
class Error < StandardError; end
|
10
12
|
|
11
|
-
ENDPOINT = 'https://git.sudokku.com'
|
13
|
+
ENDPOINT = ENV["ENDPOINT"] || 'https://git.sudokku.com'
|
12
14
|
|
13
|
-
def send_request(path, params = {})
|
15
|
+
def self.send_request(path, params = {})
|
14
16
|
uri = URI.join(ENDPOINT, path)
|
15
17
|
uri.query = URI.encode_www_form(params)
|
16
18
|
request = Net::HTTP::Get.new(uri.request_uri)
|
17
19
|
netrc = Netrc.read
|
18
20
|
user, password = netrc[uri.host]
|
19
21
|
request.basic_auth(user, password)
|
20
|
-
response = Net::HTTP.start(uri.host, uri.port
|
22
|
+
response = Net::HTTP.start(uri.host, uri.port) do |http|
|
21
23
|
http.request(request)
|
22
24
|
end
|
23
25
|
JSON.parse(response.body)
|
24
26
|
end
|
25
27
|
|
26
|
-
def login
|
28
|
+
def self.login
|
27
29
|
response = send_request('/login')
|
28
30
|
if response['status'] == 'success'
|
29
31
|
puts 'You are logged in!'
|
30
32
|
else
|
33
|
+
token = response['token']
|
31
34
|
# credentials are not valid, prompt user to authenticate via browser
|
32
35
|
puts "Please visit #{response['url']} to authenticate."
|
36
|
+
puts "Waiting for authentication..."
|
33
37
|
# check for new credentials
|
34
38
|
loop do
|
35
|
-
response = send_request('/check-authentication', {
|
39
|
+
response = send_request('/check-authentication', { token: token })
|
36
40
|
if response['status'] == 'success'
|
37
41
|
# new credentials received, save to .netrc file
|
38
42
|
netrc = Netrc.read
|
39
|
-
|
43
|
+
host = ENDPOINT.gsub('https://', '').gsub('http://', '')
|
44
|
+
netrc[host] = response['credentials']
|
40
45
|
netrc.save
|
41
46
|
puts 'Successfully logged in!'
|
42
47
|
break
|
data/sig/sudokku_cli.rbs
CHANGED
data/sudokku_cli.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sudokku_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tasos Maschalidis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04
|
11
|
+
date: 2023-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: netrc
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: net-http
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description:
|
56
70
|
email:
|
57
71
|
- tas.o.s@hotmail.com
|