bamboozled-gitlab 0.2.10 → 0.2.11

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: 1bb824cff5b90ba6e27dba753824572e334f507dd0e1e576de477d43fde9eed4
4
- data.tar.gz: 3cc9d10446f2b8ff1cc9841e0181e79f309b6094ff458cc1a7c897a803bc7474
3
+ metadata.gz: ee27d54dc3280a0524f21ee7104ab5951979e8f7aa6ac1f41d7d29fa943241e0
4
+ data.tar.gz: 6ce20114187af5808ecf10a2134cf5afb5291bca4aaeb53a2d403c69b97dc94c
5
5
  SHA512:
6
- metadata.gz: 36985162f4df37beb37760054b408365d3bd02ea93244c2062aaadbfc2f7606c3c8f3ce79ea484ddda52c28f43196fadf5061f0cd0f4424455c99661189905fd
7
- data.tar.gz: 50a32b7285feceb4a1091272c2b559e1cecb13330228e337fc2c71b91ba04cfb84fe0f809b38da2b6c024977e9797695ad694b6e78e690e34b36933e537dbb2f
6
+ metadata.gz: 65d653cf4922cfd0a0fa3cb97449ded66648927555de816e3187e2a304516901f9fd61d5971b4b45800e660d6192d4c222883e75805abe9b0a4589b50c86a59c
7
+ data.tar.gz: 35a49de100dd127d026c506da95adfc4541c8d5f7472d98a71f64e14606af6651c858dd87e337e2a6a5d025c1418bd11d4476b4f842615f1d6cace4864648a9e
data/README.md CHANGED
@@ -158,6 +158,11 @@ Please take the time to go through our [contribution guidelines](CONTRIBUTING.md
158
158
  Special thanks to all the awesome people who have helped make this gem better.
159
159
  You can see a list of them [here](https://github.com/Skookum/bamboozled/graphs/contributors).
160
160
 
161
+ #### Deploying to rubygems
162
+ 1. Update the version in the `lib/bamboozled/version.rb` file
163
+ 2. Update specs to use that version
164
+ 3. In github, add a [release](https://github.com/Skookum/bamboozled/releases) off the master branch. This will trigger the github action to deploy to rubygems
165
+
161
166
  ## License
162
167
 
163
168
  This project is licensed under the terms of the MIT license. See the
data/bamboozled.gemspec CHANGED
@@ -4,10 +4,10 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require "bamboozled/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = 'bamboozled-gitlab'
7
+ spec.name = "bamboozled-gitlab"
8
8
  spec.version = Bamboozled::VERSION
9
9
  spec.authors = ["Mark Rickert", "Lien Van Den Steen"]
10
- spec.email = ["mjar81@gmail.com", 'lvandensteen@gitlab.com']
10
+ spec.email = ["mjar81@gmail.com", "lvandensteen@gitlab.com"]
11
11
  spec.summary = "A Ruby wrapper for the BambooHR API http://www.bamboohr.com/"
12
12
  spec.description = "Bamboozled wraps the BambooHR API without the use of Rails dependencies."
13
13
  spec.homepage = "http://github.com/Skookum/bamboozled"
@@ -65,12 +65,27 @@ module Bamboozled
65
65
 
66
66
  options = {
67
67
  body: params.to_json,
68
- headers: { 'Content-Type' => 'application/json' }
68
+ headers: { "Content-Type" => "application/json" }
69
69
  }
70
70
 
71
71
  request(:put, "employees/#{employee_id}/time_off/balance_adjustment", options)
72
72
  end
73
73
 
74
+ def time_off_policies(employee_id)
75
+ request(:get, "employees/#{employee_id}/time_off/policies")
76
+ end
77
+
78
+ def add_time_off_policies(employee_id, policies)
79
+ allowed_keys = %i[timeOffPolicyId accrualStartDate]
80
+ policies = policies.map { |policy| policy.keep_if { |k, _| allowed_keys.include? k } }
81
+
82
+ options = {
83
+ body: policies.to_json
84
+ }
85
+
86
+ request(:put, "employees/#{employee_id}/time_off/policies", options)
87
+ end
88
+
74
89
  def photo_binary(employee_id)
75
90
  request(:get, "employees/#{employee_id}/photo/small")
76
91
  end
@@ -22,6 +22,13 @@ module Bamboozled
22
22
  def time_off_types
23
23
  request(:get, "meta/time_off/types")
24
24
  end
25
+
26
+ def time_off_policies
27
+ options = {
28
+ headers: { "Content-Type" => "application/json" }
29
+ }
30
+ request(:get, "meta/time_off/policies", options)
31
+ end
25
32
  end
26
33
  end
27
34
  end
@@ -1,3 +1,3 @@
1
1
  module Bamboozled
2
- VERSION = "0.2.10".freeze
2
+ VERSION = "0.2.11".freeze
3
3
  end
@@ -0,0 +1,5 @@
1
+ HTTP/1.1 200 OK
2
+ content-type: application/json; charset=utf-8
3
+ date: Tue, 17 Jun 2014 19:25:35 UTC
4
+
5
+ [{"timeOffPolicyId":"14","timeOffTypeId":"3","accrualStartDate":"2014-06-17"}]
@@ -0,0 +1,5 @@
1
+ HTTP/1.1 200 OK
2
+ content-type: application/json; charset=utf-8
3
+ date: Tue, 17 Jun 2014 19:25:35 UTC
4
+
5
+ [{"id":"14","timeOffTypeId":"3","name":"BambooHR Manual Policy","effectiveDate":null,"type":"manual"}]
@@ -71,16 +71,40 @@ RSpec.describe "Employees" do
71
71
  stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
72
72
 
73
73
  options = {
74
- date: '2014-06-17',
74
+ date: "2014-06-17",
75
75
  timeOffTypeId: 2,
76
76
  amount: -1.5,
77
- note: 'test'
77
+ note: "test"
78
78
  }
79
79
 
80
- result = @client.employee.time_off_balance_adjustment('44259', options)
80
+ result = @client.employee.time_off_balance_adjustment("44259", options)
81
81
  expect(result).to be_a Hash
82
82
  end
83
83
 
84
+ it "Gets an employee's time off policies" do
85
+ response = File.new("spec/fixtures/employee_time_off_policies.json")
86
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
87
+
88
+ policies = @client.employee.time_off_policies("44259")
89
+
90
+ expect(policies).to be_a Array
91
+ expect(policies.first.keys).to match_array %w(timeOffPolicyId timeOffTypeId accrualStartDate)
92
+ end
93
+
94
+ it "adds an employee time off policy" do
95
+ response = File.new("spec/fixtures/employee_time_off_policies.json")
96
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
97
+
98
+ policies = [{
99
+ timeOffPolicyId: 2,
100
+ accrualStartDate: "2014-06-17"
101
+ }]
102
+
103
+ result = @client.employee.add_time_off_policies("44259", policies)
104
+ expect(policies).to be_a Array
105
+ expect(result.first.keys).to match_array %w(timeOffPolicyId timeOffTypeId accrualStartDate)
106
+ end
107
+
84
108
  it "returns the proper url using employee email address" do
85
109
  hashed = "4fdce145bab6d27d69e34403f99fd11c" # Hash of me@here.com
86
110
  required_url = "http://x.bamboohr.com/employees/photos/?h=#{hashed}"
@@ -52,4 +52,12 @@ RSpec.describe "Meta" do
52
52
  types = @client.meta.time_off_types
53
53
  expect(types).to be_a Hash
54
54
  end
55
+
56
+ it "Gets time off policies" do
57
+ res = get_response("spec/fixtures/meta_time_off_policies.json")
58
+ make_stub(res)
59
+
60
+ types = @client.meta.time_off_types
61
+ expect(types).to be_a Array
62
+ end
55
63
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bamboozled-gitlab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Rickert
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-25 00:00:00.000000000 Z
12
+ date: 2021-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -138,7 +138,6 @@ files:
138
138
  - logos/bamboozled_logo_green.png
139
139
  - logos/skookum_mark_black.png
140
140
  - logos/skookum_mark_black.svg
141
- - relnotes/v0.1.0.md
142
141
  - spec/fixtures/add_employee_details.json
143
142
  - spec/fixtures/add_employee_response.json
144
143
  - spec/fixtures/add_employee_xml.yml
@@ -146,11 +145,13 @@ files:
146
145
  - spec/fixtures/custom_report.json
147
146
  - spec/fixtures/employee_emails.json
148
147
  - spec/fixtures/employee_table_details.json
148
+ - spec/fixtures/employee_time_off_policies.json
149
149
  - spec/fixtures/job_info.xml
150
150
  - spec/fixtures/last_changed.json
151
151
  - spec/fixtures/meta_fields.json
152
152
  - spec/fixtures/meta_lists.json
153
153
  - spec/fixtures/meta_tables.json
154
+ - spec/fixtures/meta_time_off_policies.json
154
155
  - spec/fixtures/meta_time_off_types.json
155
156
  - spec/fixtures/meta_users.json
156
157
  - spec/fixtures/one_employee.json
@@ -209,11 +210,13 @@ test_files:
209
210
  - spec/fixtures/custom_report.json
210
211
  - spec/fixtures/employee_emails.json
211
212
  - spec/fixtures/employee_table_details.json
213
+ - spec/fixtures/employee_time_off_policies.json
212
214
  - spec/fixtures/job_info.xml
213
215
  - spec/fixtures/last_changed.json
214
216
  - spec/fixtures/meta_fields.json
215
217
  - spec/fixtures/meta_lists.json
216
218
  - spec/fixtures/meta_tables.json
219
+ - spec/fixtures/meta_time_off_policies.json
217
220
  - spec/fixtures/meta_time_off_types.json
218
221
  - spec/fixtures/meta_users.json
219
222
  - spec/fixtures/one_employee.json
data/relnotes/v0.1.0.md DELETED
@@ -1,13 +0,0 @@
1
- ### New Features
2
-
3
- * New method `Employee#add` allows client to create new employees. ([@kylefdoherty][])
4
- * New method `Employee#update` allows client to update new employees. ([@kylefdoherty][])
5
-
6
- ### Changes
7
-
8
- ### Bug Fixes
9
-
10
- * Added missing documentation for `Employee#add`. ([@mjording][])
11
-
12
- [@kylefdoherty]: https://github.com/kylefdoherty
13
- [@mjording]: https://github.com/mjording