bobhr 0.5.30 → 0.5.32

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: af0ce519ead83ac6e4a359e0d019e2e2861e6da21f77acdd4a1659396a2b0956
4
- data.tar.gz: a723f5aaa8a16f7a59e8685308a79eca951971fbd013a1674a2b5db02516f5f7
3
+ metadata.gz: 29fe6ef3d705dfdcb583e4ebf400ee9e3b3957fc504fd2516e7048d9ef62f4b2
4
+ data.tar.gz: fc2b40de9306ae742ae22cae4e83b2e789164aea5f148f414807b07bb790eb11
5
5
  SHA512:
6
- metadata.gz: 55cb85f2e257e413e8b68a207bbff01068f1dfb3a9422e1fbda4892a7d4353b1279570f1b9446ffeb36933cbca37f2f9a9197e71889e34bdc603942028dc63c4
7
- data.tar.gz: edee5c4022ef1f61ba4642f4ba1328b71febda69d9ca686345ed408f75939310c6b986dec84f721f81606142d70513e3980ba9d1a052a36284f3d7f188aa3792
6
+ metadata.gz: 3d68b24386672b1235fb822d91249ab8263d95fd8d3edefd70e56f4dd427aa37cb7680a8466ca825882734ab7ebabb5762e1170585bef7c0bf5c89b87976c9dd
7
+ data.tar.gz: f05383c71f9ef8077fedccc8f0fa6d4ec1283c43801f340960c7006a8220bca0f240163487135a457b51cc87025f65d8158356e7a71c93cfd91c2d9b383ed053
data/lib/bob/api/api.rb CHANGED
@@ -26,6 +26,8 @@ module Bob
26
26
  params.to_json,
27
27
  authorization_header(use_api_key: use_api_key).merge(content_headers)
28
28
  )
29
+ rescue RestClient::BadRequest => e
30
+ p e
29
31
  response.code
30
32
  end
31
33
 
@@ -53,7 +55,7 @@ module Bob
53
55
 
54
56
  def self.delete(endpoint)
55
57
  url = build_url(endpoint)
56
- response = RestClient.delete(url)
58
+ response = RestClient.delete(url, authorization_header)
57
59
  response.code
58
60
  end
59
61
 
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Bob
4
+ module Employee
5
+ class CustomTables < API
6
+ def self.rows(employee_id, table_id)
7
+ response = get("people/custom-tables/#{employee_id}/#{table_id}")
8
+ TableParser.new(response).rows
9
+ end
10
+
11
+ def self.add_row(employee_id, table_id, row_data)
12
+ post("people/custom-tables/#{employee_id}/#{table_id}", {values: row_data})
13
+ end
14
+
15
+ def self.remove_row(employee_id, table_id, row_id)
16
+ delete("people/custom-tables/#{employee_id}/#{table_id}/#{row_id}")
17
+ end
18
+ end
19
+ end
20
+ end
@@ -10,6 +10,7 @@ require_relative 'employee/work_history'
10
10
  require_relative 'employee/lifecycle_history'
11
11
  require_relative 'employee/time_off'
12
12
  require_relative 'employee/employment_history'
13
+ require_relative 'employee/custom_tables'
13
14
 
14
15
  module Bob
15
16
  class Employees < API
@@ -42,6 +43,19 @@ module Bob
42
43
  end
43
44
  end
44
45
 
46
+ def self.all_anniversaries_this_month
47
+ current_month = Date.current.month
48
+
49
+ all.select do |employee|
50
+ # Don't process employees that have an internal term date
51
+ internal_term_date = Date.parse(employee.internal.termination_date)
52
+ next if internal_term_date.present?
53
+
54
+ parsed_start_date = Date.parse(employee.start_date)
55
+ parsed_start_date.month == current_month
56
+ end
57
+ end
58
+
45
59
  def self.all_people_managers(params = { includeHumanReadable: true })
46
60
  response = get('people', params)
47
61
  EmployeeParser.new(response).managers
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Models
4
+ class Table < Models::Base
5
+ end
6
+ end
data/lib/bob/models.rb CHANGED
@@ -13,3 +13,4 @@ require_relative 'models/onboarding_wizard'
13
13
  require_relative 'models/work_history'
14
14
  require_relative 'models/lifecycle_history'
15
15
  require_relative 'models/employment_history'
16
+ require_relative 'models/table'
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class TableParser < BaseParser
4
+ def rows
5
+ json_response['values'].map { |attributes| Models::Table.new(attributes) }
6
+ end
7
+ end
data/lib/bob/parsers.rb CHANGED
@@ -13,3 +13,4 @@ require_relative 'parsers/onboarding_wizard_parser'
13
13
  require_relative 'parsers/work_history_parser'
14
14
  require_relative 'parsers/lifecycle_history_parser'
15
15
  require_relative 'parsers/employment_history_parser'
16
+ require_relative 'parsers/table_parser'
data/lib/bob/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bob
4
- VERSION = '0.5.30'
4
+ VERSION = '0.5.32'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bobhr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.30
4
+ version: 0.5.32
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: 2023-04-27 00:00:00.000000000 Z
11
+ date: 2023-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -63,6 +63,7 @@ files:
63
63
  - README.md
64
64
  - lib/bob.rb
65
65
  - lib/bob/api/api.rb
66
+ - lib/bob/api/employee/custom_tables.rb
66
67
  - lib/bob/api/employee/documents.rb
67
68
  - lib/bob/api/employee/employment_history.rb
68
69
  - lib/bob/api/employee/equity_grants.rb
@@ -92,6 +93,7 @@ files:
92
93
  - lib/bob/models/lifecycle_history.rb
93
94
  - lib/bob/models/onboarding_wizard.rb
94
95
  - lib/bob/models/salary.rb
96
+ - lib/bob/models/table.rb
95
97
  - lib/bob/models/time_off.rb
96
98
  - lib/bob/models/training.rb
97
99
  - lib/bob/models/variable_payment.rb
@@ -106,6 +108,7 @@ files:
106
108
  - lib/bob/parsers/lifecycle_history_parser.rb
107
109
  - lib/bob/parsers/onboarding_wizard_parser.rb
108
110
  - lib/bob/parsers/salary_parser.rb
111
+ - lib/bob/parsers/table_parser.rb
109
112
  - lib/bob/parsers/time_off_parser.rb
110
113
  - lib/bob/parsers/training_parser.rb
111
114
  - lib/bob/parsers/variable_payment_parser.rb