wheniwork-ruby 1.0.0

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 (40) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +19 -0
  3. data/Gemfile.lock +106 -0
  4. data/LICENSE +201 -0
  5. data/README.md +111 -0
  6. data/docs/DefaultApi.md +240 -0
  7. data/docs/InlineResponse200.md +8 -0
  8. data/docs/InlineResponse2001.md +10 -0
  9. data/docs/InlineResponse2002.md +8 -0
  10. data/docs/InlineResponse2003.md +8 -0
  11. data/docs/Position.md +11 -0
  12. data/docs/Shift.md +20 -0
  13. data/docs/User.md +17 -0
  14. data/git_push.sh +67 -0
  15. data/lib/wheniwork-ruby.rb +56 -0
  16. data/lib/wheniwork-ruby/api/api.rb +279 -0
  17. data/lib/wheniwork-ruby/api_client.rb +371 -0
  18. data/lib/wheniwork-ruby/api_error.rb +45 -0
  19. data/lib/wheniwork-ruby/configuration.rb +191 -0
  20. data/lib/wheniwork-ruby/models/inline_response_200.rb +195 -0
  21. data/lib/wheniwork-ruby/models/inline_response_200_1.rb +215 -0
  22. data/lib/wheniwork-ruby/models/inline_response_200_2.rb +195 -0
  23. data/lib/wheniwork-ruby/models/inline_response_200_3.rb +195 -0
  24. data/lib/wheniwork-ruby/models/position.rb +222 -0
  25. data/lib/wheniwork-ruby/models/shift.rb +303 -0
  26. data/lib/wheniwork-ruby/models/user.rb +280 -0
  27. data/lib/wheniwork-ruby/version.rb +24 -0
  28. data/spec/api/api_spec.rb +99 -0
  29. data/spec/api_client_spec.rb +260 -0
  30. data/spec/configuration_spec.rb +46 -0
  31. data/spec/models/inline_response_200_1_spec.rb +63 -0
  32. data/spec/models/inline_response_200_2_spec.rb +51 -0
  33. data/spec/models/inline_response_200_3_spec.rb +51 -0
  34. data/spec/models/inline_response_200_spec.rb +51 -0
  35. data/spec/models/position_spec.rb +69 -0
  36. data/spec/models/shift_spec.rb +123 -0
  37. data/spec/models/user_spec.rb +105 -0
  38. data/spec/spec_helper.rb +120 -0
  39. data/wheniwork-ruby.gemspec +53 -0
  40. metadata +273 -0
@@ -0,0 +1,240 @@
1
+ # WhenIWork::Api
2
+
3
+ All URIs are relative to *https://api.wheniwork.com/2*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**get_positions**](Api.md#get_positions) | **GET** /positions |
8
+ [**get_shift**](Api.md#get_shift) | **GET** /shifts/{shift-id} |
9
+ [**get_shifts**](Api.md#get_shifts) | **GET** /shifts |
10
+ [**get_user**](Api.md#get_user) | **GET** /users/{user-id} |
11
+
12
+
13
+ # **get_positions**
14
+ > InlineResponse200 get_positions(opts)
15
+
16
+
17
+
18
+ This method allows you to get a list of all positions in your account.
19
+
20
+ ### Example
21
+ ```ruby
22
+ # load the gem
23
+ require 'wheniwork-ruby'
24
+ # setup authorization
25
+ WhenIWork.configure do |config|
26
+ # Configure API key authorization: apiKey
27
+ config.api_key['W-Token'] = 'YOUR API KEY'
28
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
29
+ #config.api_key_prefix['W-Token'] = 'Bearer'
30
+ end
31
+
32
+ api_instance = WhenIWork::Api.new
33
+
34
+ opts = {
35
+ show_deleted: true # BOOLEAN | Whether to show positions that have been deleted.
36
+ }
37
+
38
+ begin
39
+ result = api_instance.get_positions(opts)
40
+ p result
41
+ rescue WhenIWork::ApiError => e
42
+ puts "Exception when calling Api->get_positions: #{e}"
43
+ end
44
+ ```
45
+
46
+ ### Parameters
47
+
48
+ Name | Type | Description | Notes
49
+ ------------- | ------------- | ------------- | -------------
50
+ **show_deleted** | **BOOLEAN**| Whether to show positions that have been deleted. | [optional]
51
+
52
+ ### Return type
53
+
54
+ [**InlineResponse200**](InlineResponse200.md)
55
+
56
+ ### Authorization
57
+
58
+ [apiKey](../README.md#apiKey)
59
+
60
+ ### HTTP request headers
61
+
62
+ - **Content-Type**: application/json
63
+ - **Accept**: application/json
64
+
65
+
66
+
67
+ # **get_shift**
68
+ > InlineResponse2002 get_shift(shift_id)
69
+
70
+
71
+
72
+ Gets the details of an existing shift.
73
+
74
+ ### Example
75
+ ```ruby
76
+ # load the gem
77
+ require 'wheniwork-ruby'
78
+ # setup authorization
79
+ WhenIWork.configure do |config|
80
+ # Configure API key authorization: apiKey
81
+ config.api_key['W-Token'] = 'YOUR API KEY'
82
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
83
+ #config.api_key_prefix['W-Token'] = 'Bearer'
84
+ end
85
+
86
+ api_instance = WhenIWork::Api.new
87
+
88
+ shift_id = 56 # Integer | max records to return
89
+
90
+
91
+ begin
92
+ result = api_instance.get_shift(shift_id)
93
+ p result
94
+ rescue WhenIWork::ApiError => e
95
+ puts "Exception when calling Api->get_shift: #{e}"
96
+ end
97
+ ```
98
+
99
+ ### Parameters
100
+
101
+ Name | Type | Description | Notes
102
+ ------------- | ------------- | ------------- | -------------
103
+ **shift_id** | **Integer**| max records to return |
104
+
105
+ ### Return type
106
+
107
+ [**InlineResponse2002**](InlineResponse2002.md)
108
+
109
+ ### Authorization
110
+
111
+ [apiKey](../README.md#apiKey)
112
+
113
+ ### HTTP request headers
114
+
115
+ - **Content-Type**: application/json
116
+ - **Accept**: application/json
117
+
118
+
119
+
120
+ # **get_shifts**
121
+ > InlineResponse2001 get_shifts(opts)
122
+
123
+
124
+
125
+ Get a list of shifts.
126
+
127
+ ### Example
128
+ ```ruby
129
+ # load the gem
130
+ require 'wheniwork-ruby'
131
+ # setup authorization
132
+ WhenIWork.configure do |config|
133
+ # Configure API key authorization: apiKey
134
+ config.api_key['W-Token'] = 'YOUR API KEY'
135
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
136
+ #config.api_key_prefix['W-Token'] = 'Bearer'
137
+ end
138
+
139
+ api_instance = WhenIWork::Api.new
140
+
141
+ opts = {
142
+ user_id: "user_id_example", # String | The ID of the user to get shifts for. For multiple users, enter a list of user IDs separated by commas (e.g. 1,5,3).
143
+ start: DateTime.parse("2013-10-20T19:20:30+01:00"), # DateTime | Start time for the search window. The default is the current date and time
144
+ _end: DateTime.parse("2013-10-20T19:20:30+01:00"), # DateTime | End time for the search window. The default is exactly three days from the start time.
145
+ location_id: "location_id_example", # String | The ID of the location to get shifts for. For multiple locations, enter a list of location IDs separated by commas.
146
+ position_id: "position_id_example", # String | The ID of the position to get shifts for. For multiple position, enter a list of position IDs separated by commas.
147
+ include_open: true, # BOOLEAN | Whether to include OpenShifts in the results.
148
+ include_onlyopen: true, # BOOLEAN | Whether to include OpenShifts in the results.
149
+ unpublished: true # BOOLEAN | Whether unpublished shifts should be included in the results.
150
+ }
151
+
152
+ begin
153
+ result = api_instance.get_shifts(opts)
154
+ p result
155
+ rescue WhenIWork::ApiError => e
156
+ puts "Exception when calling Api->get_shifts: #{e}"
157
+ end
158
+ ```
159
+
160
+ ### Parameters
161
+
162
+ Name | Type | Description | Notes
163
+ ------------- | ------------- | ------------- | -------------
164
+ **user_id** | **String**| The ID of the user to get shifts for. For multiple users, enter a list of user IDs separated by commas (e.g. 1,5,3). | [optional]
165
+ **start** | **DateTime**| Start time for the search window. The default is the current date and time | [optional]
166
+ **_end** | **DateTime**| End time for the search window. The default is exactly three days from the start time. | [optional]
167
+ **location_id** | **String**| The ID of the location to get shifts for. For multiple locations, enter a list of location IDs separated by commas. | [optional]
168
+ **position_id** | **String**| The ID of the position to get shifts for. For multiple position, enter a list of position IDs separated by commas. | [optional]
169
+ **include_open** | **BOOLEAN**| Whether to include OpenShifts in the results. | [optional]
170
+ **include_onlyopen** | **BOOLEAN**| Whether to include OpenShifts in the results. | [optional]
171
+ **unpublished** | **BOOLEAN**| Whether unpublished shifts should be included in the results. | [optional]
172
+
173
+ ### Return type
174
+
175
+ [**InlineResponse2001**](InlineResponse2001.md)
176
+
177
+ ### Authorization
178
+
179
+ [apiKey](../README.md#apiKey)
180
+
181
+ ### HTTP request headers
182
+
183
+ - **Content-Type**: application/json
184
+ - **Accept**: application/json
185
+
186
+
187
+
188
+ # **get_user**
189
+ > InlineResponse2003 get_user(user_id)
190
+
191
+
192
+
193
+ Get a specific user by their ID.
194
+
195
+ ### Example
196
+ ```ruby
197
+ # load the gem
198
+ require 'wheniwork-ruby'
199
+ # setup authorization
200
+ WhenIWork.configure do |config|
201
+ # Configure API key authorization: apiKey
202
+ config.api_key['W-Token'] = 'YOUR API KEY'
203
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
204
+ #config.api_key_prefix['W-Token'] = 'Bearer'
205
+ end
206
+
207
+ api_instance = WhenIWork::Api.new
208
+
209
+ user_id = 56 # Integer | The user identifier number
210
+
211
+
212
+ begin
213
+ result = api_instance.get_user(user_id)
214
+ p result
215
+ rescue WhenIWork::ApiError => e
216
+ puts "Exception when calling Api->get_user: #{e}"
217
+ end
218
+ ```
219
+
220
+ ### Parameters
221
+
222
+ Name | Type | Description | Notes
223
+ ------------- | ------------- | ------------- | -------------
224
+ **user_id** | **Integer**| The user identifier number |
225
+
226
+ ### Return type
227
+
228
+ [**InlineResponse2003**](InlineResponse2003.md)
229
+
230
+ ### Authorization
231
+
232
+ [apiKey](../README.md#apiKey)
233
+
234
+ ### HTTP request headers
235
+
236
+ - **Content-Type**: application/json
237
+ - **Accept**: application/json
238
+
239
+
240
+
@@ -0,0 +1,8 @@
1
+ # WhenIWork::InlineResponse200
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **positions** | [**Array<Position>**](Position.md) | | [optional]
7
+
8
+
@@ -0,0 +1,10 @@
1
+ # WhenIWork::InlineResponse2001
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **start** | **DateTime** | | [optional]
7
+ **_end** | **DateTime** | | [optional]
8
+ **shifts** | [**Array<Shift>**](Shift.md) | | [optional]
9
+
10
+
@@ -0,0 +1,8 @@
1
+ # WhenIWork::InlineResponse2002
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **shift** | [**Shift**](Shift.md) | | [optional]
7
+
8
+
@@ -0,0 +1,8 @@
1
+ # WhenIWork::InlineResponse2003
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **user** | [**User**](User.md) | | [optional]
7
+
8
+
data/docs/Position.md ADDED
@@ -0,0 +1,11 @@
1
+ # WhenIWork::Position
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **id** | **Integer** | | [optional]
7
+ **name** | **String** | | [optional]
8
+ **color** | **String** | | [optional]
9
+ **sort** | **Integer** | | [optional]
10
+
11
+
data/docs/Shift.md ADDED
@@ -0,0 +1,20 @@
1
+ # WhenIWork::Shift
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **start_time** | **DateTime** | | [optional]
7
+ **end_time** | **DateTime** | | [optional]
8
+ **created_at** | **DateTime** | | [optional]
9
+ **updated_at** | **DateTime** | | [optional]
10
+ **notified_at** | **DateTime** | | [optional]
11
+ **id** | **Integer** | | [optional]
12
+ **account_id** | **Integer** | | [optional]
13
+ **user_id** | **Integer** | | [optional]
14
+ **location_id** | **Integer** | | [optional]
15
+ **alerted** | **BOOLEAN** | | [optional]
16
+ **is_open** | **BOOLEAN** | | [optional]
17
+ **acknowledged** | **Integer** | | [optional]
18
+ **notes** | **String** | | [optional]
19
+
20
+
data/docs/User.md ADDED
@@ -0,0 +1,17 @@
1
+ # WhenIWork::User
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **id** | **Integer** | | [optional]
7
+ **account_id** | **Integer** | | [optional]
8
+ **role** | **Integer** | | [optional]
9
+ **email** | **String** | | [optional]
10
+ **first_name** | **String** | | [optional]
11
+ **last_name** | **String** | | [optional]
12
+ **phone_number** | **String** | | [optional]
13
+ **employee_code** | **String** | | [optional]
14
+ **positions** | **Array<Integer>** | | [optional]
15
+ **locations** | **Array<Integer>** | | [optional]
16
+
17
+
data/git_push.sh ADDED
@@ -0,0 +1,67 @@
1
+ #!/bin/sh
2
+ #
3
+ # Generated by: https://github.com/swagger-api/swagger-codegen.git
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+ # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
18
+ #
19
+ # Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update"
20
+
21
+ git_user_id=$1
22
+ git_repo_id=$2
23
+ release_note=$3
24
+
25
+ if [ "$git_user_id" = "" ]; then
26
+ git_user_id="GIT_USER_ID"
27
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
28
+ fi
29
+
30
+ if [ "$git_repo_id" = "" ]; then
31
+ git_repo_id="GIT_REPO_ID"
32
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
33
+ fi
34
+
35
+ if [ "$release_note" = "" ]; then
36
+ release_note="Minor update"
37
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
38
+ fi
39
+
40
+ # Initialize the local directory as a Git repository
41
+ git init
42
+
43
+ # Adds the files in the local repository and stages them for commit.
44
+ git add .
45
+
46
+ # Commits the tracked changes and prepares them to be pushed to a remote repository.
47
+ git commit -m "$release_note"
48
+
49
+ # Sets the new remote
50
+ git_remote=`git remote`
51
+ if [ "$git_remote" = "" ]; then # git remote not defined
52
+
53
+ if [ "$GIT_TOKEN" = "" ]; then
54
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git crediential in your environment."
55
+ git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git
56
+ else
57
+ git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git
58
+ fi
59
+
60
+ fi
61
+
62
+ git pull origin master
63
+
64
+ # Pushes (Forces) the changes in the local repository up to the remote repository
65
+ echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git"
66
+ git push origin master 2>&1 | grep -v 'To https'
67
+
@@ -0,0 +1,56 @@
1
+ =begin
2
+ Wheniwork
3
+
4
+ OpenAPI spec version: v2
5
+
6
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
7
+
8
+ Licensed under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License.
10
+ You may obtain a copy of the License at
11
+
12
+ http://www.apache.org/licenses/LICENSE-2.0
13
+
14
+ Unless required by applicable law or agreed to in writing, software
15
+ distributed under the License is distributed on an "AS IS" BASIS,
16
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ See the License for the specific language governing permissions and
18
+ limitations under the License.
19
+
20
+ =end
21
+
22
+ # Common files
23
+ require 'wheniwork-ruby/api_client'
24
+ require 'wheniwork-ruby/api_error'
25
+ require 'wheniwork-ruby/version'
26
+ require 'wheniwork-ruby/configuration'
27
+
28
+ # Models
29
+ require 'wheniwork-ruby/models/inline_response_200'
30
+ require 'wheniwork-ruby/models/inline_response_200_1'
31
+ require 'wheniwork-ruby/models/inline_response_200_2'
32
+ require 'wheniwork-ruby/models/inline_response_200_3'
33
+ require 'wheniwork-ruby/models/position'
34
+ require 'wheniwork-ruby/models/shift'
35
+ require 'wheniwork-ruby/models/user'
36
+
37
+ # APIs
38
+ require 'wheniwork-ruby/api/api'
39
+
40
+ module WhenIWork
41
+ class << self
42
+ # Customize default settings for the SDK using block.
43
+ # WhenIWork.configure do |config|
44
+ # config.username = "xxx"
45
+ # config.password = "xxx"
46
+ # end
47
+ # If no block given, return the default Configuration object.
48
+ def configure
49
+ if block_given?
50
+ yield(Configuration.default)
51
+ else
52
+ Configuration.default
53
+ end
54
+ end
55
+ end
56
+ end