psu_identity 0.2.0 → 0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 966588c90dc49ec36a80dbe6a87be12ec1e0e1704bcb0003a589df8ca611d163
4
- data.tar.gz: b4acb81f410cdd7e7d447e25445cfcfcf723d7869699fe1dcc749fda941ee5ac
3
+ metadata.gz: 7996e867a943731e649e3cf0c2981fd08dd938e24f914bb8a12f1745bf7d605f
4
+ data.tar.gz: f771b556fb55e71d9ae6d0673e863dbf88fb7a1a173c224640111fa140488c92
5
5
  SHA512:
6
- metadata.gz: 2baa7fd39e55976737bd94f6f4bfc17b23667dfa80defe36e1bd2d071b2a10c672d46ef14d1756adce98c9e145bfebe79c2670bcb38e8e1d3275943d6d07836f
7
- data.tar.gz: 51e7b779c3cfb6d1d5466090f0eb9c312f890e1a15474a94d539e8211439d6189528b4a27a8da6a694e289370d2117d711ce85ff7764f6915edf74f8eb84f893
6
+ metadata.gz: 362b2abff2b599aaae062a0b367c8afbd038e6cc7536476ed7ac1a710ae534f90fa25274ff9ebae21ded7c404de669766db274806ae0c7ae31cf3b8d4249adef
7
+ data.tar.gz: 6105dfa4398b1653a1621a84548f7ed3dee1caad9f05a746364eca6f527616d1beea6fbd9c27d277d38be8fc0e5c4fedf5403cbe0a739e1f9f74e3acd0a43773
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- psu_identity (0.2.0)
4
+ psu_identity (0.3.0)
5
5
  faraday (~> 1.0)
6
6
  json
7
7
  rake (>= 12.0)
@@ -18,25 +18,29 @@ GEM
18
18
  rexml
19
19
  diff-lcs (1.4.4)
20
20
  docile (1.4.0)
21
- faraday (1.8.0)
21
+ faraday (1.9.3)
22
22
  faraday-em_http (~> 1.0)
23
23
  faraday-em_synchrony (~> 1.0)
24
24
  faraday-excon (~> 1.1)
25
- faraday-httpclient (~> 1.0.1)
25
+ faraday-httpclient (~> 1.0)
26
+ faraday-multipart (~> 1.0)
26
27
  faraday-net_http (~> 1.0)
27
- faraday-net_http_persistent (~> 1.1)
28
+ faraday-net_http_persistent (~> 1.0)
28
29
  faraday-patron (~> 1.0)
29
30
  faraday-rack (~> 1.0)
30
- multipart-post (>= 1.2, < 3)
31
+ faraday-retry (~> 1.0)
31
32
  ruby2_keywords (>= 0.0.4)
32
33
  faraday-em_http (1.0.0)
33
34
  faraday-em_synchrony (1.0.0)
34
35
  faraday-excon (1.1.0)
35
36
  faraday-httpclient (1.0.1)
37
+ faraday-multipart (1.0.3)
38
+ multipart-post (>= 1.2, < 3)
36
39
  faraday-net_http (1.0.1)
37
40
  faraday-net_http_persistent (1.2.0)
38
41
  faraday-patron (1.0.0)
39
42
  faraday-rack (1.0.0)
43
+ faraday-retry (1.0.3)
40
44
  hashdiff (1.0.1)
41
45
  json (2.5.1)
42
46
  method_source (1.0.0)
@@ -117,4 +121,4 @@ DEPENDENCIES
117
121
  webmock
118
122
 
119
123
  BUNDLED WITH
120
- 2.2.28
124
+ 2.2.29
@@ -2,9 +2,11 @@
2
2
 
3
3
  # @abstract Client for querying Penn State's identity API: https://identity.apps.psu.edu/search-service/resources
4
4
  module PsuIdentity::SearchService
5
- class Client
6
- class Error < StandardError; end
5
+ class Error < StandardError; end
6
+
7
+ class NotFound < StandardError; end
7
8
 
9
+ class Client
8
10
  attr_reader :base_url
9
11
 
10
12
  # @param [String] base_url
@@ -37,7 +39,7 @@ module PsuIdentity::SearchService
37
39
 
38
40
  # @return [PsuIdentity::SearchService::Person, nil]
39
41
  def process_userid_response(response)
40
- return if response.status == 404
42
+ raise NotFound if response.status == 404
41
43
 
42
44
  raise Error.new(response.body) unless response.success?
43
45
 
@@ -39,19 +39,19 @@ module PsuIdentity::SearchService
39
39
  end
40
40
 
41
41
  def preferred_given_name
42
- data['preferredGivenName']
42
+ data.fetch('preferredGivenName', given_name)
43
43
  end
44
44
 
45
45
  def preferred_middle_name
46
- data['preferredMiddleName']
46
+ data.fetch('preferredMiddleName', middle_name)
47
47
  end
48
48
 
49
49
  def preferred_family_name
50
- data['preferredFamilyName']
50
+ data.fetch('preferredFamilyName', family_name)
51
51
  end
52
52
 
53
53
  def preferred_honorific_suffix
54
- data['preferredHonorificSuffix']
54
+ data.fetch('preferredHonorificSuffix', honorific_suffix)
55
55
  end
56
56
 
57
57
  def active?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PsuIdentity
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: psu_identity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Kiessling
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-21 00:00:00.000000000 Z
11
+ date: 2022-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -216,7 +216,7 @@ homepage: https://github.com/psu-libraries/psu_identity
216
216
  licenses:
217
217
  - MIT
218
218
  metadata: {}
219
- post_install_message:
219
+ post_install_message:
220
220
  rdoc_options: []
221
221
  require_paths:
222
222
  - lib
@@ -231,8 +231,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
231
  - !ruby/object:Gem::Version
232
232
  version: '0'
233
233
  requirements: []
234
- rubygems_version: 3.2.28
235
- signing_key:
234
+ rubygems_version: 3.0.3
235
+ signing_key:
236
236
  specification_version: 4
237
237
  summary: Gem for interfacing with psu's search-service
238
238
  test_files: []