bamboozled-gitlab 0.2.9

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.
Files changed (75) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +39 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  4. data/.github/ISSUE_TEMPLATE/question.md +19 -0
  5. data/.github/main.workflow +38 -0
  6. data/.github/pull_request_template.md +27 -0
  7. data/.gitignore +38 -0
  8. data/.rubocop.yml +39 -0
  9. data/.rubocop_todo.yml +305 -0
  10. data/.travis.yml +18 -0
  11. data/CHANGELOG.md +48 -0
  12. data/CONTRIBUTING.md +91 -0
  13. data/Dockerfile +8 -0
  14. data/Gemfile +16 -0
  15. data/Guardfile +21 -0
  16. data/LICENSE +22 -0
  17. data/README.md +170 -0
  18. data/Rakefile +11 -0
  19. data/bamboozled.gemspec +30 -0
  20. data/examples/employees_over_time.rb +53 -0
  21. data/lib/bamboozled.rb +24 -0
  22. data/lib/bamboozled/api/base.rb +101 -0
  23. data/lib/bamboozled/api/employee.rb +118 -0
  24. data/lib/bamboozled/api/field_collection.rb +107 -0
  25. data/lib/bamboozled/api/meta.rb +25 -0
  26. data/lib/bamboozled/api/report.rb +20 -0
  27. data/lib/bamboozled/api/time_off.rb +34 -0
  28. data/lib/bamboozled/api/time_tracking.rb +24 -0
  29. data/lib/bamboozled/base.rb +31 -0
  30. data/lib/bamboozled/errors.rb +33 -0
  31. data/lib/bamboozled/ext/yesno.rb +11 -0
  32. data/lib/bamboozled/version.rb +3 -0
  33. data/logos/bamboozled_logo_black.png +0 -0
  34. data/logos/bamboozled_logo_green.png +0 -0
  35. data/logos/skookum_mark_black.png +0 -0
  36. data/logos/skookum_mark_black.svg +175 -0
  37. data/relnotes/v0.1.0.md +13 -0
  38. data/spec/fixtures/add_employee_details.json +7 -0
  39. data/spec/fixtures/add_employee_response.json +4 -0
  40. data/spec/fixtures/add_employee_xml.yml +8 -0
  41. data/spec/fixtures/all_employees.json +58 -0
  42. data/spec/fixtures/custom_report.json +38 -0
  43. data/spec/fixtures/employee_emails.json +9 -0
  44. data/spec/fixtures/employee_table_details.json +17 -0
  45. data/spec/fixtures/job_info.xml +22 -0
  46. data/spec/fixtures/last_changed.json +28 -0
  47. data/spec/fixtures/meta_fields.json +5 -0
  48. data/spec/fixtures/meta_lists.json +5 -0
  49. data/spec/fixtures/meta_tables.json +5 -0
  50. data/spec/fixtures/meta_users.json +4 -0
  51. data/spec/fixtures/one_employee.json +9 -0
  52. data/spec/fixtures/time_off_estimate.json +23 -0
  53. data/spec/fixtures/time_tracking_add_200_response.json +7 -0
  54. data/spec/fixtures/time_tracking_add_empty_response.json +9 -0
  55. data/spec/fixtures/time_tracking_adjust_200_response.json +7 -0
  56. data/spec/fixtures/time_tracking_adjust_400_response.json +11 -0
  57. data/spec/fixtures/time_tracking_record_200_response.json +9 -0
  58. data/spec/fixtures/time_tracking_record_400_response.json +11 -0
  59. data/spec/fixtures/time_tracking_record_401_response.json +10 -0
  60. data/spec/fixtures/time_tracking_record_404_response.json +8 -0
  61. data/spec/fixtures/update_employee_details.json +7 -0
  62. data/spec/fixtures/update_employee_response.json +3 -0
  63. data/spec/fixtures/update_employee_table.json +8 -0
  64. data/spec/fixtures/update_employee_table_xml.yml +6 -0
  65. data/spec/fixtures/update_employee_xml.yml +8 -0
  66. data/spec/lib/bamboozled/api/base_spec.rb +18 -0
  67. data/spec/lib/bamboozled/api/employee_spec.rb +186 -0
  68. data/spec/lib/bamboozled/api/field_collection_spec.rb +17 -0
  69. data/spec/lib/bamboozled/api/meta_spec.rb +47 -0
  70. data/spec/lib/bamboozled/api/report_spec.rb +17 -0
  71. data/spec/lib/bamboozled/api/time_tracking_spec.rb +123 -0
  72. data/spec/lib/bamboozled/base_spec.rb +26 -0
  73. data/spec/lib/bamboozled_spec.rb +33 -0
  74. data/spec/spec_helper.rb +32 -0
  75. metadata +237 -0
@@ -0,0 +1,17 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe Bamboozled::API::FieldCollection do
4
+ let(:field_collection) { described_class.new(%w[hireDate location]) }
5
+
6
+ describe "#to_csv" do
7
+ it "returns the fields as a csv" do
8
+ expect(field_collection.to_csv).to eq "hireDate,location"
9
+ end
10
+ end
11
+
12
+ describe "#to_xml" do
13
+ it "returns the fields as xml" do
14
+ expect(field_collection.to_xml).to eq '<fields><field id="hireDate" /><field id="location" /></fields>'
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,47 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Meta" do
4
+ before do
5
+ @client = Bamboozled.client(subdomain: "x", api_key: "x")
6
+ end
7
+
8
+ def get_response(fixture_name)
9
+ File.new(fixture_name)
10
+ end
11
+
12
+ def make_stub(response)
13
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
14
+ end
15
+
16
+ it "Gets all users" do
17
+ res = get_response("spec/fixtures/meta_users.json")
18
+ make_stub(res)
19
+
20
+ users = @client.meta.users
21
+ expect(users).to be_a Array
22
+ end
23
+
24
+ it "Gets all fields" do
25
+ res = get_response("spec/fixtures/meta_fields.json")
26
+ make_stub(res)
27
+
28
+ fields = @client.meta.fields
29
+ expect(fields).to be_a Array
30
+ end
31
+
32
+ it "Gets the lists" do
33
+ res = get_response("spec/fixtures/meta_lists.json")
34
+ make_stub(res)
35
+
36
+ fields = @client.meta.lists
37
+ expect(fields).to be_a Array
38
+ end
39
+
40
+ it "Gets the tables" do
41
+ res = get_response("spec/fixtures/meta_tables.json")
42
+ make_stub(res)
43
+
44
+ fields = @client.meta.lists
45
+ expect(fields).to be_a Array
46
+ end
47
+ end
@@ -0,0 +1,17 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Reports" do
4
+ before do
5
+ @client = Bamboozled.client(subdomain: "x", api_key: "x")
6
+ end
7
+
8
+ it "Creates a custom report" do
9
+ response = File.new("spec/fixtures/custom_report.json")
10
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
11
+
12
+ employees = @client.report.custom(%w[bestEmail employeeNumber birthday])
13
+
14
+ expect(employees).to be_an Array
15
+ expect(employees.size).to eq 2
16
+ end
17
+ end
@@ -0,0 +1,123 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Time Tracking" do
4
+ before do
5
+ @client = Bamboozled.client(subdomain: "x", api_key: "x")
6
+ end
7
+
8
+ describe '#record' do
9
+ context 'api success' do
10
+ it 'gets the given record' do
11
+ response = File.new("spec/fixtures/time_tracking_record_200_response.json")
12
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
13
+
14
+ record = @client.time_tracking.record('37_2301_REG')
15
+
16
+ expect(record).to be_a Hash
17
+ expect(record['payRate']).to eq('19.0000')
18
+ expect(record['employeeId']).to eq('40488')
19
+ end
20
+ end
21
+
22
+ describe 'api failures' do
23
+ context 'bad api key' do
24
+ it 'should raise an error' do
25
+ response = File.new("spec/fixtures/time_tracking_record_401_response.json")
26
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
27
+
28
+ expect do
29
+ @client.time_tracking.record('37_2301_REG')
30
+ end.to raise_error(Bamboozled::AuthenticationFailed)
31
+ end
32
+ end
33
+ context 'invalid company name' do
34
+ it 'should raise an error' do
35
+ response = File.new("spec/fixtures/time_tracking_record_404_response.json")
36
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
37
+
38
+ expect do
39
+ @client.time_tracking.record('37_2301_REG')
40
+ end.to raise_error(Bamboozled::NotFound)
41
+ end
42
+ end
43
+ context 'invalid time tracking id' do
44
+ it 'should raise an error' do
45
+ response = File.new("spec/fixtures/time_tracking_record_400_response.json")
46
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
47
+
48
+ expect do
49
+ @client.time_tracking.record('37_2301_REG')
50
+ end.to raise_error(Bamboozled::BadRequest)
51
+ end
52
+ end
53
+ end
54
+ end
55
+
56
+ describe '#add' do
57
+ describe 'api success' do
58
+ it 'should return a hash with the id of the created record' do
59
+ response = File.new("spec/fixtures/time_tracking_add_200_response.json")
60
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
61
+
62
+ data = {
63
+ timeTrackingId: '37_2302_REG',
64
+ employeeId: '40488',
65
+ dateHoursWorked: '2016-08-12',
66
+ payRate: '19.00',
67
+ rateType: 'REG',
68
+ hoursWorked: '4.5760'
69
+ }
70
+ record = @client.time_tracking.add(data)
71
+ expect(record).to be_a Hash
72
+ expect(record['id']).to eq('37_2302_REG')
73
+ end
74
+ end
75
+
76
+ describe 'api failures' do
77
+ context 'employee id does not exist' do
78
+ it 'should not raise an error but should not have an object in the response payload' do
79
+ response = File.new("spec/fixtures/time_tracking_add_empty_response.json")
80
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
81
+
82
+ data = {
83
+ timeTrackingId: '37_2302_REG',
84
+ employeeId: '40488',
85
+ dateHoursWorked: '2016-08-12',
86
+ payRate: '19.00',
87
+ rateType: 'REG',
88
+ hoursWorked: '4.5760'
89
+ }
90
+ record = @client.time_tracking.add(data)
91
+ expect(record).to be_a Hash
92
+ expect(record['headers']['content-length']).to eq('0')
93
+ end
94
+ end
95
+ end
96
+ end
97
+
98
+ describe '#adjust' do
99
+ describe 'api success' do
100
+ it 'should return a hash with the id of the created record' do
101
+ response = File.new("spec/fixtures/time_tracking_adjust_200_response.json")
102
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
103
+
104
+ record = @client.time_tracking.adjust('37_2302_REG', '4.8')
105
+ expect(record).to be_a Hash
106
+ expect(record['id']).to eq('37_2302_REG')
107
+ end
108
+ end
109
+
110
+ describe 'api failures' do
111
+ context 'time tracking id does not exist' do
112
+ it 'should raise a Bad Request error' do
113
+ response = File.new("spec/fixtures/time_tracking_adjust_400_response.json")
114
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
115
+
116
+ expect do
117
+ @client.time_tracking.adjust('37_2303_REG', '4.8')
118
+ end.to raise_error(Bamboozled::BadRequest)
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,26 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Bamboozled::Base" do
4
+ let(:base) { Bamboozled::Base.new(subdomain: "x", api_key: "x", httparty_options: {log_format: :curl}) }
5
+
6
+ it "passes HTTParty options to Bamboozled::API::Employee constructor" do
7
+ expect(Bamboozled::API::Employee).to receive(:new).with("x", "x", { log_format: :curl })
8
+ base.employee
9
+ end
10
+ it "passes HTTParty options to Bamboozled::API::Report constructor" do
11
+ expect(Bamboozled::API::Report).to receive(:new).with("x", "x", { log_format: :curl })
12
+ base.report
13
+ end
14
+ it "passes HTTParty options to Bamboozled::API::Meta constructor" do
15
+ expect(Bamboozled::API::Meta).to receive(:new).with("x", "x", { log_format: :curl })
16
+ base.meta
17
+ end
18
+ it "passes HTTParty options to Bamboozled::API::TimeOff constructor" do
19
+ expect(Bamboozled::API::TimeOff).to receive(:new).with("x", "x", { log_format: :curl })
20
+ base.time_off
21
+ end
22
+ it "passes HTTParty options to Bamboozled::API::TimeTracking constructor" do
23
+ expect(Bamboozled::API::TimeTracking).to receive(:new).with("x", "x", { log_format: :curl })
24
+ base.time_tracking
25
+ end
26
+ end
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Bamboozled" do
4
+ it "takes HTTParty options as a parameter" do
5
+ expect(Bamboozled::Base).to receive(:new).with(subdomain: "x", api_key: "x", httparty_options: { log_format: :curl })
6
+ Bamboozled.client(subdomain: "x", api_key: "x", httparty_options: { log_format: :curl })
7
+ end
8
+
9
+ it "throws no errors if no HTTParty options were provided (they are optional)" do
10
+ expect { Bamboozled.client(subdomain: "x", api_key: "x") }.not_to raise_error
11
+ end
12
+
13
+ it "passes HTTParty params to HTTParty" do
14
+ logger = double("logger")
15
+ allow(Time).to receive_message_chain(:now, :strftime).and_return("Time.now")
16
+ expect(logger).to receive(:info).with('[HTTParty] [Time.now] 200 "GET https://api.bamboohr.com/api/gateway.php/x/v1/employees/1234?fields=" - ')
17
+
18
+ client = Bamboozled.client(subdomain: "x", api_key: "x", httparty_options: { log_format: :apache, logger: logger })
19
+ response = File.new("spec/fixtures/one_employee.json")
20
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
21
+
22
+ employee = client.employee.find(1234)
23
+ end
24
+
25
+ it "works without HTTParty options provided" do
26
+ client = Bamboozled.client(subdomain: "x", api_key: "x")
27
+ response = File.new("spec/fixtures/one_employee.json")
28
+ stub_request(:any, /.*api\.bamboohr\.com.*/).to_return(response)
29
+
30
+ employee = client.employee.find(1234)
31
+ expect(employee["firstName"]).to eq "John"
32
+ end
33
+ end
@@ -0,0 +1,32 @@
1
+ require "coveralls"
2
+ Coveralls.wear!
3
+
4
+ require "webmock/rspec"
5
+ require "rspec"
6
+
7
+ RSpec.configure do |config|
8
+ config.expect_with :rspec do |expectations|
9
+ # Only allow the expectation syntax
10
+ expectations.syntax = :expect
11
+
12
+ # Include custom matcher descriptions in output
13
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
14
+ end
15
+
16
+ # Disable monkey patching for describe
17
+ config.expose_dsl_globally = false
18
+ config.disable_monkey_patching!
19
+
20
+ if config.files_to_run.one?
21
+ # Use the documentation formatter for detailed output
22
+ config.default_formatter = "doc"
23
+ end
24
+
25
+ # Run specs in random order to surface order dependencies
26
+ config.order = :random
27
+
28
+ # Seed global randomization in this process using the `--seed` CLI option
29
+ Kernel.srand config.seed
30
+ end
31
+
32
+ require "bamboozled"
metadata ADDED
@@ -0,0 +1,237 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bamboozled-gitlab
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.9
5
+ platform: ruby
6
+ authors:
7
+ - Mark Rickert
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.4'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: webmock
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.20'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.20'
69
+ - !ruby/object:Gem::Dependency
70
+ name: httparty
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.13'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.13'
83
+ - !ruby/object:Gem::Dependency
84
+ name: json
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 2.3.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 2.3.0
97
+ description: Bamboozled wraps the BambooHR API without the use of Rails dependencies.
98
+ email:
99
+ - mjar81@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
105
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
106
+ - ".github/ISSUE_TEMPLATE/question.md"
107
+ - ".github/main.workflow"
108
+ - ".github/pull_request_template.md"
109
+ - ".gitignore"
110
+ - ".rubocop.yml"
111
+ - ".rubocop_todo.yml"
112
+ - ".travis.yml"
113
+ - CHANGELOG.md
114
+ - CONTRIBUTING.md
115
+ - Dockerfile
116
+ - Gemfile
117
+ - Guardfile
118
+ - LICENSE
119
+ - README.md
120
+ - Rakefile
121
+ - bamboozled.gemspec
122
+ - examples/employees_over_time.rb
123
+ - lib/bamboozled.rb
124
+ - lib/bamboozled/api/base.rb
125
+ - lib/bamboozled/api/employee.rb
126
+ - lib/bamboozled/api/field_collection.rb
127
+ - lib/bamboozled/api/meta.rb
128
+ - lib/bamboozled/api/report.rb
129
+ - lib/bamboozled/api/time_off.rb
130
+ - lib/bamboozled/api/time_tracking.rb
131
+ - lib/bamboozled/base.rb
132
+ - lib/bamboozled/errors.rb
133
+ - lib/bamboozled/ext/yesno.rb
134
+ - lib/bamboozled/version.rb
135
+ - logos/bamboozled_logo_black.png
136
+ - logos/bamboozled_logo_green.png
137
+ - logos/skookum_mark_black.png
138
+ - logos/skookum_mark_black.svg
139
+ - relnotes/v0.1.0.md
140
+ - spec/fixtures/add_employee_details.json
141
+ - spec/fixtures/add_employee_response.json
142
+ - spec/fixtures/add_employee_xml.yml
143
+ - spec/fixtures/all_employees.json
144
+ - spec/fixtures/custom_report.json
145
+ - spec/fixtures/employee_emails.json
146
+ - spec/fixtures/employee_table_details.json
147
+ - spec/fixtures/job_info.xml
148
+ - spec/fixtures/last_changed.json
149
+ - spec/fixtures/meta_fields.json
150
+ - spec/fixtures/meta_lists.json
151
+ - spec/fixtures/meta_tables.json
152
+ - spec/fixtures/meta_users.json
153
+ - spec/fixtures/one_employee.json
154
+ - spec/fixtures/time_off_estimate.json
155
+ - spec/fixtures/time_tracking_add_200_response.json
156
+ - spec/fixtures/time_tracking_add_empty_response.json
157
+ - spec/fixtures/time_tracking_adjust_200_response.json
158
+ - spec/fixtures/time_tracking_adjust_400_response.json
159
+ - spec/fixtures/time_tracking_record_200_response.json
160
+ - spec/fixtures/time_tracking_record_400_response.json
161
+ - spec/fixtures/time_tracking_record_401_response.json
162
+ - spec/fixtures/time_tracking_record_404_response.json
163
+ - spec/fixtures/update_employee_details.json
164
+ - spec/fixtures/update_employee_response.json
165
+ - spec/fixtures/update_employee_table.json
166
+ - spec/fixtures/update_employee_table_xml.yml
167
+ - spec/fixtures/update_employee_xml.yml
168
+ - spec/lib/bamboozled/api/base_spec.rb
169
+ - spec/lib/bamboozled/api/employee_spec.rb
170
+ - spec/lib/bamboozled/api/field_collection_spec.rb
171
+ - spec/lib/bamboozled/api/meta_spec.rb
172
+ - spec/lib/bamboozled/api/report_spec.rb
173
+ - spec/lib/bamboozled/api/time_tracking_spec.rb
174
+ - spec/lib/bamboozled/base_spec.rb
175
+ - spec/lib/bamboozled_spec.rb
176
+ - spec/spec_helper.rb
177
+ homepage: http://github.com/Skookum/bamboozled
178
+ licenses:
179
+ - MIT
180
+ metadata: {}
181
+ post_install_message:
182
+ rdoc_options: []
183
+ require_paths:
184
+ - lib
185
+ required_ruby_version: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '2.0'
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ requirements: []
196
+ rubygems_version: 3.1.2
197
+ signing_key:
198
+ specification_version: 4
199
+ summary: A Ruby wrapper for the BambooHR API http://www.bamboohr.com/
200
+ test_files:
201
+ - spec/fixtures/add_employee_details.json
202
+ - spec/fixtures/add_employee_response.json
203
+ - spec/fixtures/add_employee_xml.yml
204
+ - spec/fixtures/all_employees.json
205
+ - spec/fixtures/custom_report.json
206
+ - spec/fixtures/employee_emails.json
207
+ - spec/fixtures/employee_table_details.json
208
+ - spec/fixtures/job_info.xml
209
+ - spec/fixtures/last_changed.json
210
+ - spec/fixtures/meta_fields.json
211
+ - spec/fixtures/meta_lists.json
212
+ - spec/fixtures/meta_tables.json
213
+ - spec/fixtures/meta_users.json
214
+ - spec/fixtures/one_employee.json
215
+ - spec/fixtures/time_off_estimate.json
216
+ - spec/fixtures/time_tracking_add_200_response.json
217
+ - spec/fixtures/time_tracking_add_empty_response.json
218
+ - spec/fixtures/time_tracking_adjust_200_response.json
219
+ - spec/fixtures/time_tracking_adjust_400_response.json
220
+ - spec/fixtures/time_tracking_record_200_response.json
221
+ - spec/fixtures/time_tracking_record_400_response.json
222
+ - spec/fixtures/time_tracking_record_401_response.json
223
+ - spec/fixtures/time_tracking_record_404_response.json
224
+ - spec/fixtures/update_employee_details.json
225
+ - spec/fixtures/update_employee_response.json
226
+ - spec/fixtures/update_employee_table.json
227
+ - spec/fixtures/update_employee_table_xml.yml
228
+ - spec/fixtures/update_employee_xml.yml
229
+ - spec/lib/bamboozled/api/base_spec.rb
230
+ - spec/lib/bamboozled/api/employee_spec.rb
231
+ - spec/lib/bamboozled/api/field_collection_spec.rb
232
+ - spec/lib/bamboozled/api/meta_spec.rb
233
+ - spec/lib/bamboozled/api/report_spec.rb
234
+ - spec/lib/bamboozled/api/time_tracking_spec.rb
235
+ - spec/lib/bamboozled/base_spec.rb
236
+ - spec/lib/bamboozled_spec.rb
237
+ - spec/spec_helper.rb