magister 1.2.1 → 1.3.0
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/lib/magister/authenticator.rb +20 -3
- data/lib/magister.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a041c24e54b39cc5177fe088ef9dd11a4154b91411760f2918a9b3019d1fbe2e
|
4
|
+
data.tar.gz: 7910fa0b041250e2b4a5a1f31d572ea892f48587d934e672e2683a13280ea08a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 60738e11401ab1e54ccb9f4b786f625b7976cc594b617cdb12f5dd3b00f92a3115f161f223d1493819daa870edce8772e101c4f0eb9386e1f95607fdeb687faa
|
7
|
+
data.tar.gz: 4e157d5183e3dde9b8feaf7b7e374d56557ca07ecd4af72731b1a18299c5b04d53f9a8f887772904773f1418db883350c20bbb39acd26ab1c3c599b8c025bfb1
|
@@ -58,9 +58,26 @@ module Authenticator
|
|
58
58
|
if $authMode == "local"
|
59
59
|
raise NotImplementedError.new("\n\nLocal authentication mode has not been implemented yet, \nCheck our github for any updates, or if you want to help implementing it!\n")
|
60
60
|
else
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
if $magister_browser == "Chrome"
|
62
|
+
puts "Using Selenium with Chrome for authentication."
|
63
|
+
if !$magister_disableHeadless
|
64
|
+
options = Selenium::WebDriver::Options.chrome(args: ['--headless=new'])
|
65
|
+
else
|
66
|
+
options = Selenium::WebDriver::Options.chrome(args: [])
|
67
|
+
end
|
68
|
+
driver = Selenium::WebDriver.for :chrome, options: options
|
69
|
+
elsif $magister_browser == "Firefox"
|
70
|
+
puts "Using Selenium with Firefox for authentication."
|
71
|
+
if !$magister_disableHeadless
|
72
|
+
options = Selenium::WebDriver::Options.firefox(args: ['--headless=new'])
|
73
|
+
else
|
74
|
+
options = Selenium::WebDriver::Options.firefox(args: [])
|
75
|
+
end
|
76
|
+
driver = Selenium::WebDriver.for :firefox, options: options
|
77
|
+
else
|
78
|
+
puts "Invalid browser option #{$magister_browser}"
|
79
|
+
return
|
80
|
+
end
|
64
81
|
|
65
82
|
driver.get auth_uri
|
66
83
|
while !driver.current_url.start_with? "https://accounts.magister.net/account/login"
|
data/lib/magister.rb
CHANGED
@@ -9,6 +9,10 @@ require 'magister/authenticator'
|
|
9
9
|
# "selenium" will run headlessly
|
10
10
|
# "local" will open a browser window for the user to login
|
11
11
|
$authMode = "selenium"
|
12
|
+
# Set what browser to use [Chrome|Firefox]
|
13
|
+
$magister_browser = "Chrome"
|
14
|
+
# To show the browser window for debugging purposes
|
15
|
+
$magister_disableHeadless = false
|
12
16
|
|
13
17
|
# Caching options
|
14
18
|
$magister_useCache = true
|
@@ -55,6 +59,7 @@ class Magister
|
|
55
59
|
# @since 1.1.0
|
56
60
|
def login(school, username, password)
|
57
61
|
@profile = Authenticator.login(username, password, school)
|
62
|
+
@profile.verify
|
58
63
|
end
|
59
64
|
|
60
65
|
# Get the users profile
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magister
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Riley0122
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|