workstream_protocol 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6143dae96a990cae80bda19c7fa34f1a3e9ca52b2eb680995d76a614892dc67a
4
+ data.tar.gz: 454665053c0fdfc595bae56355d396297cfee55ac2fd09d35af63e1552e78b8c
5
+ SHA512:
6
+ metadata.gz: 1774cd7b1280742a70eb4ff35ab8c2cde210b0fb0511c604dd27d0c4041c4723983a25e134f72043a26f9af146021f8f7bb14650319f291a97922bec5b3fd97d
7
+ data.tar.gz: 7f85e4ecc9f0aabf69ed4a3bcf6801b19c6a6103e372d2337186164991ad9cca7dc2186ae8fd341087963d526dc4eb7f0c26e0f443d985c050df8b80f61cf851
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ language: ruby
3
+ cache: bundler
4
+ rvm:
5
+ - 2.5.3
6
+ before_install: gem install bundler -v 2.1.4
data/CHANGELOG.txt ADDED
File without changes
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at xiaorong.ruby@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [https://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: https://contributor-covenant.org
74
+ [version]: https://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in workstream_protocol.gemspec
4
+ gemspec
5
+
6
+ gem "rake", "~> 12.0"
7
+ gem "rspec", "~> 3.0"
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2021 Ryan Lv
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # WorkstreamProtocol
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/workstream_protocol`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'workstream_protocol'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle install
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install workstream_protocol
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+
28
+ ```
29
+ require 'aws-sdk-sns'
30
+
31
+ sns = Aws::SNS::Resource.new(region: 'us-west-2')
32
+
33
+ topic = sns.topic('arn_of_your_sqs')
34
+
35
+ topic.publish({
36
+ message: Workstream::Protocol::Onboarding::Employee.new(uuid: SecureRandom.uuid, id: 3).to_proto,
37
+ subject: Workstream::Protocol::Onboarding::Employee.descriptor.name
38
+ })
39
+ ```
40
+
41
+
42
+
43
+ ## Development
44
+
45
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
46
+
47
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
48
+
49
+ ## Contributing
50
+
51
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/workstream_protocol. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/workstream_protocol/blob/master/CODE_OF_CONDUCT.md).
52
+
53
+
54
+ ## License
55
+
56
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
57
+
58
+ ## Code of Conduct
59
+
60
+ Everyone interacting in the WorkstreamProtocol project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/workstream_protocol/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "workstream_protocol"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ require "pry"
11
+ # Pry.start
12
+
13
+ # AWS stuffs
14
+ require 'aws'
15
+ require 'aws-sdk-sns'
16
+
17
+ require "irb"
18
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,5 @@
1
+ require 'workstream_protocol/Onboarding_pb'
2
+
3
+ module WorkstreamProtocol
4
+
5
+ end
@@ -0,0 +1,27 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: Common/Address.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'Common/CountryCode_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("Common/Address.proto", :syntax => :proto3) do
9
+ add_message "Workstream.Protocol.Common.Address" do
10
+ optional :address1, :string, 1
11
+ optional :address2, :string, 2
12
+ optional :city, :string, 3
13
+ optional :county, :string, 4
14
+ optional :zip, :string, 20
15
+ optional :country_sub_division_code, :string, 19
16
+ optional :country_code, :enum, 21, "Workstream.Protocol.Common.CountryCode"
17
+ end
18
+ end
19
+ end
20
+
21
+ module Workstream
22
+ module Protocol
23
+ module Common
24
+ Address = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Common.Address").msgclass
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,268 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: Common/CountryCode.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("Common/CountryCode.proto", :syntax => :proto3) do
8
+ add_enum "Workstream.Protocol.Common.CountryCode" do
9
+ value :AF, 0
10
+ value :AX, 1
11
+ value :AL, 2
12
+ value :DZ, 3
13
+ value :AS, 4
14
+ value :AD, 5
15
+ value :AO, 6
16
+ value :AI, 7
17
+ value :AQ, 8
18
+ value :AG, 9
19
+ value :AR, 10
20
+ value :AM, 11
21
+ value :AW, 12
22
+ value :AU, 13
23
+ value :AT, 14
24
+ value :AZ, 15
25
+ value :BS, 16
26
+ value :BH, 17
27
+ value :BD, 18
28
+ value :BB, 19
29
+ value :BY, 20
30
+ value :BE, 21
31
+ value :BZ, 22
32
+ value :BJ, 23
33
+ value :BM, 24
34
+ value :BT, 25
35
+ value :BO, 26
36
+ value :BQ, 27
37
+ value :BA, 28
38
+ value :BW, 29
39
+ value :BV, 30
40
+ value :BR, 31
41
+ value :IO, 32
42
+ value :BN, 33
43
+ value :BG, 34
44
+ value :BF, 35
45
+ value :BI, 36
46
+ value :KH, 37
47
+ value :CM, 38
48
+ value :CA, 39
49
+ value :CV, 40
50
+ value :KY, 41
51
+ value :CF, 42
52
+ value :TD, 43
53
+ value :CL, 44
54
+ value :CN, 45
55
+ value :CX, 46
56
+ value :CC, 47
57
+ value :CO, 48
58
+ value :KM, 49
59
+ value :CG, 50
60
+ value :CD, 51
61
+ value :CK, 52
62
+ value :CR, 53
63
+ value :CI, 54
64
+ value :HR, 55
65
+ value :CU, 56
66
+ value :CW, 57
67
+ value :CY, 58
68
+ value :CZ, 59
69
+ value :DK, 60
70
+ value :DJ, 61
71
+ value :DM, 62
72
+ value :DO, 63
73
+ value :EC, 64
74
+ value :EG, 65
75
+ value :SV, 66
76
+ value :GQ, 67
77
+ value :ER, 68
78
+ value :EE, 69
79
+ value :ET, 70
80
+ value :FK, 71
81
+ value :FO, 72
82
+ value :FJ, 73
83
+ value :FI, 74
84
+ value :FR, 75
85
+ value :GF, 76
86
+ value :PF, 77
87
+ value :TF, 78
88
+ value :GA, 79
89
+ value :GM, 80
90
+ value :GE, 81
91
+ value :DE, 82
92
+ value :GH, 83
93
+ value :GI, 84
94
+ value :GR, 85
95
+ value :GL, 86
96
+ value :GD, 87
97
+ value :GP, 88
98
+ value :GU, 89
99
+ value :GT, 90
100
+ value :GG, 91
101
+ value :GN, 92
102
+ value :GW, 93
103
+ value :GY, 94
104
+ value :HT, 95
105
+ value :HM, 96
106
+ value :VA, 97
107
+ value :HN, 98
108
+ value :HK, 99
109
+ value :HU, 100
110
+ value :IS, 101
111
+ value :IN, 102
112
+ value :ID, 103
113
+ value :IR, 104
114
+ value :IQ, 105
115
+ value :IE, 106
116
+ value :IM, 107
117
+ value :IL, 108
118
+ value :IT, 109
119
+ value :JM, 110
120
+ value :JP, 111
121
+ value :JE, 112
122
+ value :JO, 113
123
+ value :KZ, 114
124
+ value :KE, 115
125
+ value :KI, 116
126
+ value :KP, 117
127
+ value :KR, 118
128
+ value :KW, 119
129
+ value :KG, 120
130
+ value :LA, 121
131
+ value :LV, 122
132
+ value :LB, 123
133
+ value :LS, 124
134
+ value :LR, 125
135
+ value :LY, 126
136
+ value :LI, 127
137
+ value :LT, 128
138
+ value :LU, 129
139
+ value :MO, 130
140
+ value :MK, 131
141
+ value :MG, 132
142
+ value :MW, 133
143
+ value :MY, 134
144
+ value :MV, 135
145
+ value :ML, 136
146
+ value :MT, 137
147
+ value :MH, 138
148
+ value :MQ, 139
149
+ value :MR, 140
150
+ value :MU, 141
151
+ value :YT, 142
152
+ value :MX, 143
153
+ value :FM, 144
154
+ value :MD, 145
155
+ value :MC, 146
156
+ value :MN, 147
157
+ value :ME, 148
158
+ value :MS, 149
159
+ value :MA, 150
160
+ value :MZ, 151
161
+ value :MM, 152
162
+ value :NA, 153
163
+ value :NR, 154
164
+ value :NP, 155
165
+ value :NL, 156
166
+ value :NC, 157
167
+ value :NZ, 158
168
+ value :NI, 159
169
+ value :NE, 160
170
+ value :NG, 161
171
+ value :NU, 162
172
+ value :NF, 163
173
+ value :MP, 164
174
+ value :NO, 165
175
+ value :OM, 166
176
+ value :PK, 167
177
+ value :PW, 168
178
+ value :PS, 169
179
+ value :PA, 170
180
+ value :PG, 171
181
+ value :PY, 172
182
+ value :PE, 173
183
+ value :PH, 174
184
+ value :PN, 175
185
+ value :PL, 176
186
+ value :PT, 177
187
+ value :PR, 178
188
+ value :QA, 179
189
+ value :RE, 180
190
+ value :RO, 181
191
+ value :RU, 182
192
+ value :RW, 183
193
+ value :BL, 184
194
+ value :SH, 185
195
+ value :KN, 186
196
+ value :LC, 187
197
+ value :MF, 188
198
+ value :PM, 189
199
+ value :VC, 190
200
+ value :WS, 191
201
+ value :SM, 192
202
+ value :ST, 193
203
+ value :SA, 194
204
+ value :SN, 195
205
+ value :RS, 196
206
+ value :SC, 197
207
+ value :SL, 198
208
+ value :SG, 199
209
+ value :SX, 200
210
+ value :SK, 201
211
+ value :SI, 202
212
+ value :SB, 203
213
+ value :SO, 204
214
+ value :ZA, 205
215
+ value :GS, 206
216
+ value :SS, 207
217
+ value :ES, 208
218
+ value :LK, 209
219
+ value :SD, 210
220
+ value :SR, 211
221
+ value :SJ, 212
222
+ value :SZ, 213
223
+ value :SE, 214
224
+ value :CH, 215
225
+ value :SY, 216
226
+ value :TW, 217
227
+ value :TJ, 218
228
+ value :TZ, 219
229
+ value :TH, 220
230
+ value :TL, 221
231
+ value :TG, 222
232
+ value :TK, 223
233
+ value :TO, 224
234
+ value :TT, 225
235
+ value :TN, 226
236
+ value :TR, 227
237
+ value :TM, 228
238
+ value :TC, 229
239
+ value :TV, 230
240
+ value :UG, 231
241
+ value :UA, 232
242
+ value :AE, 233
243
+ value :GB, 234
244
+ value :US, 235
245
+ value :UM, 236
246
+ value :UY, 237
247
+ value :UZ, 238
248
+ value :VU, 239
249
+ value :VE, 240
250
+ value :VN, 241
251
+ value :VG, 242
252
+ value :VI, 243
253
+ value :WF, 244
254
+ value :EH, 245
255
+ value :YE, 246
256
+ value :ZM, 247
257
+ value :ZW, 248
258
+ end
259
+ end
260
+ end
261
+
262
+ module Workstream
263
+ module Protocol
264
+ module Common
265
+ CountryCode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Common.CountryCode").enummodule
266
+ end
267
+ end
268
+ end
@@ -0,0 +1,22 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: Common/Phone.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("Common/Phone.proto", :syntax => :proto3) do
8
+ add_message "Workstream.Protocol.Common.Phone" do
9
+ optional :country_code, :string, 1
10
+ optional :number, :string, 2
11
+ optional :extension, :string, 3
12
+ end
13
+ end
14
+ end
15
+
16
+ module Workstream
17
+ module Protocol
18
+ module Common
19
+ Phone = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Common.Phone").msgclass
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,124 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: Onboarding.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'Common/Phone_pb'
7
+ require 'Common/Address_pb'
8
+ require 'google/protobuf/timestamp_pb'
9
+ Google::Protobuf::DescriptorPool.generated_pool.build do
10
+ add_file("Onboarding.proto", :syntax => :proto3) do
11
+ add_message "Workstream.Protocol.Onboarding.CompanyEvent" do
12
+ optional :uuid, :string, 1
13
+ optional :id, :int64, 2
14
+ optional :created_at, :message, 3, "google.protobuf.Timestamp"
15
+ optional :updated_at, :message, 4, "google.protobuf.Timestamp"
16
+ optional :name, :string, 5
17
+ optional :status, :enum, 6, "Workstream.Protocol.Onboarding.CompanyEvent.CompanyStatus"
18
+ end
19
+ add_enum "Workstream.Protocol.Onboarding.CompanyEvent.CompanyStatus" do
20
+ value :ACTIVE, 0
21
+ value :TEST, 1
22
+ value :DISABLED, 2
23
+ value :TEMPLATE, 3
24
+ end
25
+ add_message "Workstream.Protocol.Onboarding.EmployeeEvent" do
26
+ optional :uuid, :string, 1
27
+ optional :id, :int64, 2
28
+ optional :created_at, :message, 3, "google.protobuf.Timestamp"
29
+ optional :updated_at, :message, 4, "google.protobuf.Timestamp"
30
+ optional :company_id, :int64, 5
31
+ end
32
+ add_message "Workstream.Protocol.Onboarding.CompanyStaffEvent" do
33
+ optional :uuid, :string, 1
34
+ optional :id, :int64, 2
35
+ optional :created_at, :message, 3, "google.protobuf.Timestamp"
36
+ optional :updated_at, :message, 4, "google.protobuf.Timestamp"
37
+ optional :status, :enum, 5, "Workstream.Protocol.Onboarding.CompanyStaffEvent.CompanyStaffStatus"
38
+ optional :company_id, :int64, 6
39
+ optional :name, :string, 7
40
+ optional :email, :string, 8
41
+ optional :phone, :message, 9, "Workstream.Protocol.Common.Phone"
42
+ end
43
+ add_enum "Workstream.Protocol.Onboarding.CompanyStaffEvent.CompanyStaffStatus" do
44
+ value :ACTIVE, 0
45
+ value :DISABLED, 1
46
+ end
47
+ add_message "Workstream.Protocol.Onboarding.EmergencyContact" do
48
+ optional :relationship, :string, 1
49
+ optional :first_name, :string, 2
50
+ optional :last_name, :string, 3
51
+ optional :home_phone, :string, 4
52
+ optional :work_phone, :string, 5
53
+ optional :email, :string, 6
54
+ optional :address, :message, 7, "Workstream.Protocol.Common.Address"
55
+ end
56
+ add_message "Workstream.Protocol.Onboarding.EmployeeInformationEvent" do
57
+ optional :uuid, :string, 1
58
+ optional :id, :int64, 2
59
+ optional :created_at, :message, 3, "google.protobuf.Timestamp"
60
+ optional :updated_at, :message, 4, "google.protobuf.Timestamp"
61
+ optional :company_id, :int64, 5
62
+ optional :employee_id, :int64, 6
63
+ optional :first_name, :string, 7
64
+ optional :middle_name, :string, 8
65
+ optional :last_name, :string, 9
66
+ optional :prior_last_name, :string, 10
67
+ optional :prefered_name, :string, 11
68
+ optional :salutation, :string, 12
69
+ optional :ethnicity, :string, 13
70
+ optional :gender, :string, 14
71
+ optional :marital_status, :enum, 15, "Workstream.Protocol.Onboarding.MaritalStatus"
72
+ optional :ssn, :string, 16
73
+ optional :smoker, :bool, 17
74
+ optional :nationality, :string, 18
75
+ optional :date_of_birth, :string, 19
76
+ optional :home_email, :string, 31
77
+ optional :home_phone, :message, 32, "Workstream.Protocol.Common.Phone"
78
+ optional :home_address, :message, 33, "Workstream.Protocol.Common.Address"
79
+ optional :work_location_name, :string, 41
80
+ optional :work_email, :string, 42
81
+ optional :work_phone, :message, 43, "Workstream.Protocol.Common.Phone"
82
+ optional :work_address, :message, 44, "Workstream.Protocol.Common.Address"
83
+ repeated :emergency_contact, :message, 51, "Workstream.Protocol.Onboarding.EmergencyContact"
84
+ optional :apply_date, :string, 52
85
+ optional :hire_date, :string, 53
86
+ optional :start_date, :string, 54
87
+ optional :termination_date, :string, 55
88
+ optional :job_title, :string, 56
89
+ optional :department_name, :string, 57
90
+ end
91
+ add_message "Workstream.Protocol.Onboarding.EmployeeInitialStateEvent" do
92
+ optional :uuid, :string, 1
93
+ optional :id, :int64, 2
94
+ optional :created_at, :message, 3, "google.protobuf.Timestamp"
95
+ optional :updated_at, :message, 4, "google.protobuf.Timestamp"
96
+ optional :employee_id, :int64, 5
97
+ optional :first_name, :string, 6
98
+ optional :last_name, :string, 7
99
+ end
100
+ add_enum "Workstream.Protocol.Onboarding.MaritalStatus" do
101
+ value :MARRIED, 0
102
+ value :DIVORCED, 1
103
+ value :WIDOWED, 2
104
+ value :NEVER_MARRIED, 3
105
+ value :SEPARATED, 4
106
+ end
107
+ end
108
+ end
109
+
110
+ module Workstream
111
+ module Protocol
112
+ module Onboarding
113
+ CompanyEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.CompanyEvent").msgclass
114
+ CompanyEvent::CompanyStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.CompanyEvent.CompanyStatus").enummodule
115
+ EmployeeEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.EmployeeEvent").msgclass
116
+ CompanyStaffEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.CompanyStaffEvent").msgclass
117
+ CompanyStaffEvent::CompanyStaffStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.CompanyStaffEvent.CompanyStaffStatus").enummodule
118
+ EmergencyContact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.EmergencyContact").msgclass
119
+ EmployeeInformationEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.EmployeeInformationEvent").msgclass
120
+ EmployeeInitialStateEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.EmployeeInitialStateEvent").msgclass
121
+ MaritalStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Workstream.Protocol.Onboarding.MaritalStatus").enummodule
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,3 @@
1
+ module WorkstreamProtocol
2
+ VERSION = "0.2.0"
3
+ end
@@ -0,0 +1,40 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ protocols = File.expand_path("../lib/workstream_protocol", __FILE__)
5
+ $LOAD_PATH.unshift(protocols) unless $LOAD_PATH.include?(protocols)
6
+
7
+ require "workstream_protocol/version"
8
+
9
+ Gem::Specification.new do |spec|
10
+ spec.name = "workstream_protocol"
11
+ spec.version = WorkstreamProtocol::VERSION
12
+ spec.authors = ["Ryan Lv"]
13
+ spec.email = ["tech@workstream.is"]
14
+
15
+ spec.summary = %q{Ruby SDK of Workstream message Specification}
16
+ spec.description = spec.summary
17
+ spec.homepage = "https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol"
18
+ spec.license = "MIT"
19
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
20
+
21
+ # spec.metadata["allowed_push_host"] = "https://workstream.us"
22
+
23
+ spec.metadata["homepage_uri"] = spec.homepage
24
+ spec.metadata["source_code_uri"] = "https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol"
25
+ spec.metadata["changelog_uri"] = "https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol/CHANGELOG.txt"
26
+
27
+ # Specify which files should be added to the gem when it is released.
28
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
29
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
30
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
31
+ end
32
+ spec.bindir = "exe"
33
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
34
+ spec.require_paths = ["lib"]
35
+
36
+ spec.add_dependency 'google-protobuf'
37
+ spec.add_development_dependency "pry"
38
+ spec.add_development_dependency "aws"
39
+ spec.add_development_dependency "aws-sdk-sns"
40
+ end
metadata ADDED
@@ -0,0 +1,120 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: workstream_protocol
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Ryan Lv
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-03-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: google-protobuf
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aws
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk-sns
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Ruby SDK of Workstream message Specification
70
+ email:
71
+ - tech@workstream.is
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - ".rspec"
78
+ - ".travis.yml"
79
+ - CHANGELOG.txt
80
+ - CODE_OF_CONDUCT.md
81
+ - Gemfile
82
+ - LICENSE.txt
83
+ - README.md
84
+ - Rakefile
85
+ - bin/console
86
+ - bin/setup
87
+ - lib/workstream_protocol.rb
88
+ - lib/workstream_protocol/Common/Address_pb.rb
89
+ - lib/workstream_protocol/Common/CountryCode_pb.rb
90
+ - lib/workstream_protocol/Common/Phone_pb.rb
91
+ - lib/workstream_protocol/Onboarding_pb.rb
92
+ - lib/workstream_protocol/version.rb
93
+ - workstream_protocol.gemspec
94
+ homepage: https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol
95
+ licenses:
96
+ - MIT
97
+ metadata:
98
+ homepage_uri: https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol
99
+ source_code_uri: https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol
100
+ changelog_uri: https://github.com/helloworld1812/Protocol/tree/master/packages/sdk-ruby/src/workstream_protocol/CHANGELOG.txt
101
+ post_install_message:
102
+ rdoc_options: []
103
+ require_paths:
104
+ - lib
105
+ required_ruby_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 2.3.0
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ requirements: []
116
+ rubygems_version: 3.0.8
117
+ signing_key:
118
+ specification_version: 4
119
+ summary: Ruby SDK of Workstream message Specification
120
+ test_files: []