peoplegroup-connectors 0.1.9 → 0.1.10

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: 800a61edd755dd71ab5990d2f53df313a78c42cfac1cc6be206dd9e0f1555cb7
4
- data.tar.gz: f8213430bfa0fe919aa8e1fcb229d0655ca9514d8827b3c304ff4dbc6047c59a
3
+ metadata.gz: c78c67d1667a5441fdc3c59cd7aceaead99cc3c23e6f646a2a29a837ceef8c69
4
+ data.tar.gz: 666e6fec2e69ea4ed830a9247a61fa5fe9f43d9ae363aff5223c8a07554f5262
5
5
  SHA512:
6
- metadata.gz: d9eebb60b4bc441afdfa164a7c911bb58f48e47358ada3fe75595f5cb9102f2d50f0f5f9b8ce164d89aaf8aff8527720950de02075e16b3b62a0ccf2039dc8be
7
- data.tar.gz: a4a709ad17b6e14fd09117fc15810c9354279780264a7721e785ea11c355dea655ee4054790a3dfa6db20443743d5947832c41e1c5721f4a5fca2b3626f82835
6
+ metadata.gz: 6493e56abb36adacbab060fcf91f41db56bd69e8280d028e7086bc73ceae8a144ef8f7c84850640ffcc70a5577323387365a936099c93c3611875171a0dd6d12
7
+ data.tar.gz: c3bda22d3e0612c3c059c80cee5aea1f866b4dfbae0b0fa391b320d87063b4f8ec1bc65f86dcae192a71bd9c68a0dcc0facc6536106ad3553fb9d279d5f3e3de
@@ -22,13 +22,30 @@ module PeopleGroup
22
22
  def search_employee(name)
23
23
  return if name.empty?
24
24
 
25
- employees.find { |emp| [emp['displayName'], "#{emp['firstName']} #{emp['lastName']}", "#{emp['preferredName']} #{emp['lastName']}", emp['fullName5']].include?(name) }
25
+ employees.find do |emp|
26
+ [
27
+ emp['displayName']&.downcase,
28
+ "#{emp['firstName']&.downcase} #{emp['lastName']&.downcase}",
29
+ "#{emp['preferredName']&.downcase} #{emp['lastName']&.downcase}",
30
+ "#{emp['firstName']&.downcase} #{emp['customPreferredLastName']&.downcase}",
31
+ "#{emp['preferredName']&.downcase} #{emp['customPreferredLastName']&.downcase}"
32
+ ].include?(name.downcase)
33
+ end
26
34
  end
35
+ alias_method :search_team_member, :search_employee
27
36
 
28
37
  def search_employee_by_field(field:, value:)
29
38
  employees.find { |employee| employee[field] == value.to_s }
30
39
  end
31
40
 
41
+ def fetch_manager(team_member)
42
+ active_team_members.find { |tm| tm['id'] == team_member['supervisorEId'] }
43
+ end
44
+
45
+ def fetch_second_level_manager(team_member)
46
+ fetch_manager(fetch_manager(team_member))
47
+ end
48
+
32
49
  def create_employee(employee_details_hash)
33
50
  @client.employee.add(employee_details_hash)
34
51
  end
@@ -132,6 +149,17 @@ module PeopleGroup
132
149
  @client.employee.add_table_row(employee_id, 'customAdditionalInformation1', data)
133
150
  end
134
151
 
152
+ def add_bonus(team_member_id, comment)
153
+ data = {
154
+ customBonusdate: Date.today.to_s,
155
+ customBonusamount: { value: 1_000, currency: 'USD' },
156
+ customBonustype: 'Discretionary Bonus',
157
+ customBonuscomments: comment
158
+ # customNominatedBy: 'TODO'
159
+ }
160
+ @client.employee.add_table_row(team_member_id, 'customBonus', data)
161
+ end
162
+
135
163
  private
136
164
 
137
165
  def meta_fields
@@ -12,10 +12,6 @@ module PeopleGroup
12
12
  @client = ::Slack::Web::Client.new
13
13
  end
14
14
 
15
- def send_message(channel, message)
16
- @client.chat_postMessage(channel: channel, text: message, as_user: true)
17
- end
18
-
19
15
  def find_user(email)
20
16
  @client.users_lookupByEmail(email: email)
21
17
  rescue ::Slack::Web::Api::Errors::SlackError
@@ -26,6 +22,22 @@ module PeopleGroup
26
22
  channels = @client.channels_list(exclude_archived: true).channels
27
23
  channels.reject(&:is_private)&.map(:name)
28
24
  end
25
+
26
+ def send_message(channel:, text:, as_user: true, attachments: [])
27
+ @client.chat_postMessage(channel: channel, text: text, as_user: true, attachments: attachments, unfurl_links: false)
28
+ end
29
+
30
+ def update_message(channel:, timestamp:, text:)
31
+ @client.chat_update(channel: channel, text: text, ts: timestamp, as_user: true, attachments: [])
32
+ end
33
+
34
+ def send_modal_message(trigger:, view:)
35
+ @client.views_open(trigger_id: trigger, view: view)
36
+ end
37
+
38
+ def publish_view(user_id:, trigger:, view:)
39
+ @client.views_publish(user_id: user_id, trigger_id: trigger, view: view)
40
+ end
29
41
  end
30
42
  end
31
43
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.9'
5
+ VERSION = '0.1.10'
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.9
4
+ version: 0.1.10
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: 2021-02-02 00:00:00.000000000 Z
11
+ date: 2021-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab