peoplegroup-connectors 0.1.90 → 0.1.93

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
  SHA256:
3
- metadata.gz: e81a7a99df13138e46413cb69785834d5df291848c0cf96237835789bbf8c331
4
- data.tar.gz: 851e8cf19fe315535e8499b19f6d02df61c35e65cf9d0c15944e7a48d6fa1d25
3
+ metadata.gz: bde60b43474978b4dd611f50d5778fc0467526a025139a2c63123afd247bdca0
4
+ data.tar.gz: e4a0ba0b45b6d21031d8585037f1c081654abcf3079478e9c9625ae0e93ba1af
5
5
  SHA512:
6
- metadata.gz: bd894bb68000e6779455b2fc21656fbac3ec917f731cd5b59008798eaef6daeb657351ee1b7d834ace4517a053ba6f2089e581c97da1cc8e54855c07a47a59f0
7
- data.tar.gz: 9e2d92098f82b76a8ca51a207b13365dedd311933832ad452c679422137317e2bedcb039c5f37076f60a517cf7678b02ec35ced13ba7ea5c2562890787db5725
6
+ metadata.gz: d4a5bd986cfd5cc1414adf0a57e1d458c01c5fe659a3c05981b2301bb8e57b6cdf7a7819d7e01aca873f0ecc91646d6dc8ecf0031327a80ddb58599572eed895
7
+ data.tar.gz: 2b3921dcec32efafe5815f841aaa195b01c65cf46f3764033cf66e8bd51471c89cb036e83e6192368919304e8e28614bdabe1cb94b0539a93194a4afb33d9581
@@ -63,6 +63,18 @@ module PeopleGroup
63
63
  end
64
64
  alias_method :search_team_member_by_field!, :search_employee_by_field!
65
65
 
66
+ # Find the associated team member without checking case on the 'workEmail' field.
67
+ def search_team_member_by_email(email)
68
+ team_members.find { |team_member| team_member['workEmail']&.downcase == email&.downcase }
69
+ end
70
+
71
+ def search_team_member_by_email!(email)
72
+ team_member = search_team_member_by_email(email)
73
+ raise EmployeeNotFoundError, "No team member found with email #{email}." unless team_member
74
+
75
+ team_member
76
+ end
77
+
66
78
  def slack_email_lookup_with_fallback(email)
67
79
  file_path = File.join(__dir__, '../../../data/email_mapper.yml')
68
80
  email_mapper = YAML.load_file(file_path)
@@ -186,6 +198,7 @@ module PeopleGroup
186
198
  end
187
199
  end
188
200
  end
201
+ alias_method :team_members, :employees
189
202
 
190
203
  def active_employees
191
204
  employees.select { |employee| employee['status'] == 'Active' }
@@ -12,7 +12,7 @@ module PeopleGroup
12
12
  end
13
13
 
14
14
  def pto(params)
15
- Splinter::OOOEvents.get_all(params)
15
+ retry_on_error { Splinter::OOOEvents.get_all(params) }
16
16
  end
17
17
 
18
18
  def pto_type(type)
@@ -22,7 +22,11 @@ module PeopleGroup
22
22
  private
23
23
 
24
24
  def pto_types
25
- Splinter::OOOTypes.get_all
25
+ retry_on_error { Splinter::OOOTypes.get_all }
26
+ end
27
+
28
+ def retry_on_error(&block)
29
+ Utils.retry_on_error(delay: 3, max_attempts: 3, errors: [RestClient::BadGateway], &block)
26
30
  end
27
31
  end
28
32
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.90'
5
+ VERSION = '0.1.93'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peoplegroup-connectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.90
4
+ version: 0.1.93
5
5
  platform: ruby
6
6
  authors:
7
7
  - lien van den steen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-08 00:00:00.000000000 Z
11
+ date: 2022-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab
@@ -206,6 +206,20 @@ dependencies:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: '2.7'
209
+ - !ruby/object:Gem::Dependency
210
+ name: simplecov
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '0.21'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '0.21'
209
223
  description: Avoid repeating methods in different projects for our connectos.
210
224
  email:
211
225
  - lvandensteen@gitlab.com