workos 1.5.0 → 2.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.ruby-version +1 -1
  4. data/.semaphore/semaphore.yml +2 -2
  5. data/Gemfile.lock +3 -3
  6. data/lib/workos/client.rb +3 -6
  7. data/lib/workos/connection.rb +1 -1
  8. data/lib/workos/directory.rb +2 -2
  9. data/lib/workos/directory_sync.rb +29 -0
  10. data/lib/workos/errors.rb +4 -0
  11. data/lib/workos/organization.rb +4 -1
  12. data/lib/workos/organizations.rb +18 -4
  13. data/lib/workos/profile.rb +7 -2
  14. data/lib/workos/types/connection_struct.rb +1 -1
  15. data/lib/workos/types/directory_struct.rb +2 -2
  16. data/lib/workos/types/organization_struct.rb +1 -0
  17. data/lib/workos/types/profile_struct.rb +1 -0
  18. data/lib/workos/types/webhook_struct.rb +14 -0
  19. data/lib/workos/types.rb +1 -0
  20. data/lib/workos/version.rb +1 -1
  21. data/lib/workos/webhook.rb +47 -0
  22. data/lib/workos/webhooks.rb +168 -0
  23. data/lib/workos.rb +3 -0
  24. data/spec/lib/workos/audit_trail_spec.rb +2 -0
  25. data/spec/lib/workos/directory_sync_spec.rb +45 -10
  26. data/spec/lib/workos/organizations_spec.rb +2 -0
  27. data/spec/lib/workos/passwordless_spec.rb +2 -0
  28. data/spec/lib/workos/portal_spec.rb +2 -0
  29. data/spec/lib/workos/sso_spec.rb +4 -0
  30. data/spec/lib/workos/webhooks_spec.rb +190 -0
  31. data/spec/spec_helper.rb +3 -0
  32. data/spec/support/fixtures/vcr_cassettes/{organization/update_invalid.yml → directory_sync/get_directory_with_invalid_id.yml} +35 -25
  33. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml +84 -0
  34. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +34 -22
  35. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +36 -22
  36. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +30 -19
  37. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +31 -20
  38. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +39 -21
  39. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +32 -20
  40. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +1 -1
  41. data/spec/support/fixtures/vcr_cassettes/organization/get.yml +1 -1
  42. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +4 -4
  43. data/spec/support/fixtures/vcr_cassettes/organization/update.yml +1 -1
  44. data/spec/support/fixtures/vcr_cassettes/sso/profile.yml +1 -1
  45. data/spec/support/profile.txt +1 -1
  46. data/spec/support/shared_examples/client_spec.rb +16 -0
  47. data/spec/support/webhook_payload.txt +1 -0
  48. metadata +16 -5
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workos
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-13 00:00:00.000000000 Z
11
+ date: 2021-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -234,7 +234,10 @@ files:
234
234
  - lib/workos/types/passwordless_session_struct.rb
235
235
  - lib/workos/types/profile_struct.rb
236
236
  - lib/workos/types/provider_enum.rb
237
+ - lib/workos/types/webhook_struct.rb
237
238
  - lib/workos/version.rb
239
+ - lib/workos/webhook.rb
240
+ - lib/workos/webhooks.rb
238
241
  - sorbet/config
239
242
  - sorbet/rbi/gems/addressable.rbi
240
243
  - sorbet/rbi/gems/ast.rbi
@@ -276,6 +279,7 @@ files:
276
279
  - spec/lib/workos/passwordless_spec.rb
277
280
  - spec/lib/workos/portal_spec.rb
278
281
  - spec/lib/workos/sso_spec.rb
282
+ - spec/lib/workos/webhooks_spec.rb
279
283
  - spec/spec_helper.rb
280
284
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
281
285
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
@@ -285,6 +289,8 @@ files:
285
289
  - spec/support/fixtures/vcr_cassettes/audit_trail/get_events.yml
286
290
  - spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml
287
291
  - spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml
292
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_invalid_id.yml
293
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml
288
294
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml
289
295
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group_with_invalid_id.yml
290
296
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml
@@ -315,7 +321,6 @@ files:
315
321
  - spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml
316
322
  - spec/support/fixtures/vcr_cassettes/organization/list.yml
317
323
  - spec/support/fixtures/vcr_cassettes/organization/update.yml
318
- - spec/support/fixtures/vcr_cassettes/organization/update_invalid.yml
319
324
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml
320
325
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
321
326
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
@@ -336,6 +341,8 @@ files:
336
341
  - spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml
337
342
  - spec/support/fixtures/vcr_cassettes/sso/profile.yml
338
343
  - spec/support/profile.txt
344
+ - spec/support/shared_examples/client_spec.rb
345
+ - spec/support/webhook_payload.txt
339
346
  - workos.gemspec
340
347
  homepage: https://github.com/workos-inc/workos-ruby
341
348
  licenses:
@@ -357,7 +364,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
357
364
  - !ruby/object:Gem::Version
358
365
  version: '0'
359
366
  requirements: []
360
- rubygems_version: 3.2.25
367
+ rubygems_version: 3.2.31
361
368
  signing_key:
362
369
  specification_version: 4
363
370
  summary: API client for WorkOS
@@ -369,6 +376,7 @@ test_files:
369
376
  - spec/lib/workos/passwordless_spec.rb
370
377
  - spec/lib/workos/portal_spec.rb
371
378
  - spec/lib/workos/sso_spec.rb
379
+ - spec/lib/workos/webhooks_spec.rb
372
380
  - spec/spec_helper.rb
373
381
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml
374
382
  - spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml
@@ -378,6 +386,8 @@ test_files:
378
386
  - spec/support/fixtures/vcr_cassettes/audit_trail/get_events.yml
379
387
  - spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml
380
388
  - spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml
389
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_invalid_id.yml
390
+ - spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml
381
391
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml
382
392
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_group_with_invalid_id.yml
383
393
  - spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml
@@ -408,7 +418,6 @@ test_files:
408
418
  - spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml
409
419
  - spec/support/fixtures/vcr_cassettes/organization/list.yml
410
420
  - spec/support/fixtures/vcr_cassettes/organization/update.yml
411
- - spec/support/fixtures/vcr_cassettes/organization/update_invalid.yml
412
421
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml
413
422
  - spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml
414
423
  - spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml
@@ -429,3 +438,5 @@ test_files:
429
438
  - spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml
430
439
  - spec/support/fixtures/vcr_cassettes/sso/profile.yml
431
440
  - spec/support/profile.txt
441
+ - spec/support/shared_examples/client_spec.rb
442
+ - spec/support/webhook_payload.txt