peoplegroup-connectors 0.3.2 → 0.4.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7ea0fb60cf8904acdc70b3536b57e6fa800bdde94114c77c0dc4e1d58247812
|
4
|
+
data.tar.gz: 027d82d51fb70dd1be04a0ba6c31c04ca9e350a9f82543e006729a37b106127f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94591f8aeea81ea77cfe2d5027f534b19ce21185f2dc6724b693098da67e9e4c0bc769e90c647a082a3a50b2632fae118e21312110941eb7970c5d5ff615b1b9
|
7
|
+
data.tar.gz: c7c7f69af5baa0951c0dcf308a1eb5ab2d03407d668724016b26d668328a3ec432d64de2432d8acf04f7207cd7fb20f00f94da25fe59e4b0d779e97d5c2816b6
|
@@ -26,8 +26,9 @@ module PeopleGroup
|
|
26
26
|
end
|
27
27
|
|
28
28
|
instance_variable_set("@#{key}", value)
|
29
|
+
@data[key.to_s] = value
|
30
|
+
@hash[key.to_sym] = value
|
29
31
|
self.class.send(:attr_reader, key) # rubocop:disable GitlabSecurity/PublicSend
|
30
|
-
@data[key] = value
|
31
32
|
end
|
32
33
|
end
|
33
34
|
|
@@ -38,6 +39,15 @@ module PeopleGroup
|
|
38
39
|
@data.dig(*args)
|
39
40
|
end
|
40
41
|
|
42
|
+
def except(*args)
|
43
|
+
args.each do |key|
|
44
|
+
@data.delete(key.to_s)
|
45
|
+
@hash.delete(key.to_sym)
|
46
|
+
instance_variable_set("@#{key}", nil)
|
47
|
+
end
|
48
|
+
self
|
49
|
+
end
|
50
|
+
|
41
51
|
# Create a new instance from an array of Hashes
|
42
52
|
def self.from_array(array)
|
43
53
|
array.map { |data| new(data) if data.is_a?(Hash) }
|
@@ -45,12 +55,15 @@ module PeopleGroup
|
|
45
55
|
|
46
56
|
# Maintains normal json data structure
|
47
57
|
def [](key)
|
48
|
-
@data[key.to_s]
|
58
|
+
@data[key.to_s] || @hash[key.to_sym]
|
49
59
|
end
|
50
60
|
|
51
61
|
# Allows us to override the json data
|
52
62
|
def []=(key, value)
|
53
|
-
|
63
|
+
sym = key.to_sym
|
64
|
+
str = key.to_s
|
65
|
+
@data[str] = value if @data[str]
|
66
|
+
@hash[sym] = value if @hash[sym]
|
54
67
|
end
|
55
68
|
|
56
69
|
# Return the stored raw hash value.
|
@@ -35,21 +35,37 @@ module PeopleGroup
|
|
35
35
|
@workers ||= safe_report(report_name: ENV['WORKDAY_WORKERS_REPORT'])
|
36
36
|
end
|
37
37
|
|
38
|
+
def eligibility_status(employee_number)
|
39
|
+
safe_report(report_name: ENV['WORKDAY_ELIGIBILITY_REPORT'], params: { Employee_ID: employee_number })&.first
|
40
|
+
end
|
41
|
+
|
38
42
|
# Grabs manager history for the specified team member or all team members.
|
39
|
-
# @return
|
43
|
+
# @return <PeopleGroup::Connectors::Models::ObjectifiedHash>
|
40
44
|
# keys:
|
41
|
-
#
|
42
|
-
#
|
43
|
-
#
|
45
|
+
# employeeNumber - The team members employee number.
|
46
|
+
# hireDate - The team members hireDate or transition date.
|
47
|
+
# supervisorId - The team members future manager ID.
|
48
|
+
# previousManagerId - The team members previous manager id.
|
49
|
+
# department - The team members upcoming department
|
50
|
+
# division - The team members upcoming division.
|
51
|
+
# managerChangeGroup - This will always be nil.
|
44
52
|
def manager_history(employee_number = nil)
|
45
53
|
options = { report_name: ENV['WORKDAY_MANAGER_REPORT'] }
|
54
|
+
options[:params] = { 'Employee_ID' => employee_number } unless employee_number.nil?
|
55
|
+
|
56
|
+
resp = safe_report(**options).first
|
57
|
+
change_group = resp[:JOB_INFO_group]
|
58
|
+
reformatted = {
|
59
|
+
**resp.hash.except(:JOB_INFO_group),
|
60
|
+
'transitionDate' => change_group.first['transitionDate'],
|
61
|
+
'supervisorId' => change_group.first['supervisorId'],
|
62
|
+
'jobTitle' => change_group.first['jobTitle'],
|
63
|
+
'department' => change_group.first['department'],
|
64
|
+
'division' => change_group.first['division'],
|
65
|
+
'previousManagerId' => change_group[1]['supervisorId']
|
66
|
+
}
|
46
67
|
|
47
|
-
|
48
|
-
options[:params] = { 'Employee_ID' => employee_number } unless employee_number.nil?
|
49
|
-
options[:nested_key] = 'Manager_Change_group'
|
50
|
-
end
|
51
|
-
|
52
|
-
safe_report(**options)
|
68
|
+
ObjectifiedHash.new(reformatted)
|
53
69
|
end
|
54
70
|
|
55
71
|
private
|
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.3
|
4
|
+
version: 0.4.3
|
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:
|
11
|
+
date: 2023-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gitlab
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.2.
|
75
|
+
version: 0.2.14
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.2.
|
82
|
+
version: 0.2.14
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: greenhouse_io-gitlab
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|