clever 2.3.0 → 2.3.1

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
  SHA1:
3
- metadata.gz: eadea65a93fb58c3c03e4669c9eee742a4d0ca3b
4
- data.tar.gz: 5cf08d8b4e9c9aa374b522e448ef867fc95db0f6
3
+ metadata.gz: c35d6eada204a0058fad8c09d0bd59a63a928255
4
+ data.tar.gz: 467317854d78559603c9d829899b9adc9cc20cfa
5
5
  SHA512:
6
- metadata.gz: 8d8ba0401e1c2076e71b8e633a53d2e388a72b1e4c1bd49ac01d1792e0801002c12d743578be42ba75deacd96355f80c5a4584a49aa6e40ca50e19352de6fed5
7
- data.tar.gz: 55e3247234f4b6612f6ee9dd90c16773608b5c042042e323f562446341e5f8226cdd582a98c198814a3ad36b94d3c49eb60e1fc661cb55c47ec9e324af258dad
6
+ metadata.gz: 7595b689345c6a9dc347a561f7c0674ae4a82d53b436455f6ce8e5b0bfb278ac39ccb63e625ffbd052a08c291c426f810927d89c6a3c72e8723c0a071d2b9642
7
+ data.tar.gz: 6dc199bfa6d54d851a607cb04d52edb3c5393a5515e28c89ddf6aa6ab1790ecfd542d6405d80dfadb98152c6a7a658ebfb923f24aaacbb20026e40d7237d4e4f
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clever (2.3.0)
4
+ clever (2.3.1)
5
5
  faraday
6
6
  faraday_middleware
7
7
 
@@ -3,7 +3,7 @@
3
3
  module Clever
4
4
  class Client
5
5
  attr_accessor :app_id, :app_token, :sync_id, :logger,
6
- :vendor_key, :vendor_secret, :username_source
6
+ :vendor_key, :vendor_secret, :username_source, :staff_username_source
7
7
 
8
8
  attr_reader :api_url, :tokens_endpoint
9
9
 
@@ -9,13 +9,38 @@ module Clever
9
9
  :last_name,
10
10
  :provider
11
11
 
12
- def initialize(attributes = {}, *)
12
+ def initialize(attributes = {}, *, client: nil)
13
13
  @uid = attributes['id']
14
14
  @email = attributes['email']
15
15
  @first_name = attributes['name']['first']
16
16
  @last_name = attributes['name']['last']
17
+ @district_username = attributes.dig('credentials', 'district_username')
18
+ @sis_id = attributes['sis_id']
19
+ @username = username(client)
17
20
  @provider = 'clever'
18
21
  end
22
+
23
+ def username(client = nil)
24
+ username_source = client&.staff_username_source
25
+
26
+ @username ||= presence(username_from(username_source))
27
+ end
28
+
29
+ private
30
+
31
+ def username_from(username_source)
32
+ return if blank?(username_source)
33
+
34
+ presence(instance_variable_get("@#{username_source}"))
35
+ end
36
+
37
+ def presence(field)
38
+ field unless blank?(field)
39
+ end
40
+
41
+ def blank?(field)
42
+ field.nil? || field == ''
43
+ end
19
44
  end
20
45
  end
21
46
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Clever
4
- VERSION = '2.3.0'
4
+ VERSION = '2.3.1'
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: 2.3.0
4
+ version: 2.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Julius
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-18 00:00:00.000000000 Z
11
+ date: 2020-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday