wheniwork-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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