clever 3.2.10 → 3.2.12

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ceec693a7d2d2f1bc55b066c15e28e6db98653c71e5dd746a2923868ad5b1b55
4
- data.tar.gz: c1a680ed722256d4a0fe1440991e1853d69889c491728f3d37934c0136203a80
3
+ metadata.gz: 4c153ff90dfe32c5c958d1db29188f27ac03cd4bea543705d8a18e64940cc486
4
+ data.tar.gz: 7fbfd1b58edc4dfe2a9c9d8b97c27b8f78b4d994120f1ee6765fe3d41b521bcc
5
5
  SHA512:
6
- metadata.gz: 04f28e43270da90cfa839dcaf370afba666163f0c34f333fd83a1583629476cb82b0a8a42eb6d265d5fc1612540efea00af29fa8e8ed2251ae64f39ab7a28ab6
7
- data.tar.gz: 28411f7c9abcb4eb50234de31376c554dd35fd0b1a23bbb34413540bf35151c8f18098d2efb45aace7b4578d5edf6d557eb8b201db4199e5e338b65fd7b2b0c7
6
+ metadata.gz: cff76378375ddd84c8fed64a0440f203ed5f4deed6c3363459f3e3e2d288338c9143e2102175d40e2e9c85eb990ac512947f6c2871285bb1ecb198640e6d405f
7
+ data.tar.gz: bb9698e8fffbe8a556d8d5bdbf30b1a4f5f3e30f31eb8deac3302b72c0f045782b241023db17c45e97c4010b3ecd85bca635984aa09a381d614ac2f8559bfdd1
data/.tool-versions ADDED
@@ -0,0 +1,2 @@
1
+ ruby 2.7.5
2
+ nodejs 18.20.0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clever (3.2.10)
4
+ clever (3.2.12)
5
5
  faraday
6
6
  faraday_middleware
7
7
 
data/lib/clever/client.rb CHANGED
@@ -4,7 +4,8 @@ module Clever
4
4
  class Client
5
5
  attr_accessor :app_id, :app_token, :sync_id, :logger, :redirect_uri,
6
6
  :vendor_key, :vendor_secret, :username_source, :staff_username_source,
7
- :sentry_client
7
+ :sentry_client, :student_username_search_for, :staffer_username_search_for,
8
+ :student_username_replace_with, :staffer_username_replace_with
8
9
 
9
10
  attr_reader :api_url, :tokens_endpoint
10
11
 
@@ -22,6 +22,7 @@ module Clever
22
22
  'response.http_status' => response.status,
23
23
  'response.raw_body' => response.raw_body
24
24
  )
25
+ raise GatewayTimeoutError if response.timed_out?
25
26
  end
26
27
 
27
28
  response
@@ -68,5 +69,7 @@ module Clever
68
69
 
69
70
  @client.sentry_client.capture_message('Exception in Clever::Connection', **{ extra: payload })
70
71
  end
72
+
73
+ class GatewayTimeoutError < StandardError; end
71
74
  end
72
75
  end
@@ -23,6 +23,10 @@ module Clever
23
23
  @status == 200
24
24
  end
25
25
 
26
+ def timed_out?
27
+ @status == 504
28
+ end
29
+
26
30
  private
27
31
 
28
32
  def uri(kind)
@@ -20,9 +20,16 @@ module Clever
20
20
  end
21
21
 
22
22
  def username(client = nil)
23
+ return @username if defined?(@username)
24
+
23
25
  username_source = client&.username_source
26
+ username = presence(username_from(username_source)) || default_username
27
+
28
+ if client&.student_username_search_for
29
+ username = username&.gsub(client.student_username_search_for, client.student_username_replace_with || '')
30
+ end
24
31
 
25
- @username ||= presence(username_from(username_source)) || default_username
32
+ @username = username
26
33
  end
27
34
 
28
35
  def to_h
@@ -23,9 +23,16 @@ module Clever
23
23
  end
24
24
 
25
25
  def username(client = nil)
26
+ return @username if defined?(@username)
27
+
26
28
  username_source = client&.staff_username_source
29
+ username = presence(username_from(username_source))
30
+
31
+ if client&.staffer_username_search_for
32
+ username = username&.gsub(client.staffer_username_search_for, client.staffer_username_replace_with || '')
33
+ end
27
34
 
28
- @username ||= presence(username_from(username_source))
35
+ @username = username
29
36
  end
30
37
 
31
38
  def to_h
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Clever
4
- VERSION = '3.2.10'
4
+ VERSION = '3.2.12'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clever
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.10
4
+ version: 3.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Julius
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-28 00:00:00.000000000 Z
11
+ date: 2025-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -176,7 +176,7 @@ files:
176
176
  - ".rspec"
177
177
  - ".rubocop.yml"
178
178
  - ".ruby-style.yml"
179
- - ".ruby-version"
179
+ - ".tool-versions"
180
180
  - Gemfile
181
181
  - Gemfile.lock
182
182
  - LICENSE.txt
@@ -210,7 +210,7 @@ licenses:
210
210
  - MIT
211
211
  metadata:
212
212
  allowed_push_host: https://rubygems.org
213
- post_install_message:
213
+ post_install_message:
214
214
  rdoc_options: []
215
215
  require_paths:
216
216
  - lib
@@ -226,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  version: '0'
227
227
  requirements: []
228
228
  rubygems_version: 3.1.6
229
- signing_key:
229
+ signing_key:
230
230
  specification_version: 4
231
231
  summary: Wrapper for the Clever API.
232
232
  test_files: []
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.4.1