workos 4.1.0 → 4.2.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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +37 -0
  3. data/.github/workflows/release.yml +43 -0
  4. data/.rubocop.yml +8 -1
  5. data/Gemfile.lock +22 -69
  6. data/lib/workos/audit_log_export.rb +8 -31
  7. data/lib/workos/audit_logs.rb +0 -26
  8. data/lib/workos/authentication_factor_and_challenge.rb +0 -3
  9. data/lib/workos/authentication_response.rb +3 -6
  10. data/lib/workos/challenge.rb +9 -28
  11. data/lib/workos/client.rb +0 -41
  12. data/lib/workos/configuration.rb +0 -1
  13. data/lib/workos/connection.rb +11 -35
  14. data/lib/workos/directory.rb +10 -37
  15. data/lib/workos/directory_group.rb +9 -36
  16. data/lib/workos/directory_sync.rb +0 -21
  17. data/lib/workos/directory_user.rb +17 -51
  18. data/lib/workos/errors.rb +0 -16
  19. data/lib/workos/event.rb +5 -26
  20. data/lib/workos/events.rb +0 -7
  21. data/lib/workos/factor.rb +9 -28
  22. data/lib/workos/hash_provider.rb +0 -1
  23. data/lib/workos/impersonator.rb +0 -3
  24. data/lib/workos/invitation.rb +12 -37
  25. data/lib/workos/mfa.rb +0 -42
  26. data/lib/workos/organization.rb +8 -31
  27. data/lib/workos/organization_membership.rb +8 -27
  28. data/lib/workos/organizations.rb +0 -26
  29. data/lib/workos/passwordless.rb +0 -14
  30. data/lib/workos/portal.rb +1 -13
  31. data/lib/workos/profile.rb +12 -39
  32. data/lib/workos/profile_and_token.rb +1 -4
  33. data/lib/workos/refresh_authentication_response.rb +2 -5
  34. data/lib/workos/sso.rb +1 -43
  35. data/lib/workos/types/intent.rb +16 -0
  36. data/lib/workos/types/list_struct.rb +8 -5
  37. data/lib/workos/types/passwordless_session_struct.rb +10 -9
  38. data/lib/workos/types/provider.rb +15 -0
  39. data/lib/workos/types.rb +5 -23
  40. data/lib/workos/user.rb +10 -31
  41. data/lib/workos/user_and_token.rb +1 -4
  42. data/lib/workos/user_management.rb +32 -243
  43. data/lib/workos/user_response.rb +0 -3
  44. data/lib/workos/verify_challenge.rb +4 -18
  45. data/lib/workos/version.rb +1 -2
  46. data/lib/workos/webhook.rb +5 -26
  47. data/lib/workos/webhooks.rb +1 -38
  48. data/lib/workos.rb +0 -2
  49. data/spec/lib/workos/audit_logs_spec.rb +2 -3
  50. data/spec/lib/workos/configuration_spec.rb +0 -1
  51. data/spec/lib/workos/directory_sync_spec.rb +0 -1
  52. data/spec/lib/workos/directory_user_spec.rb +0 -1
  53. data/spec/lib/workos/event_spec.rb +0 -1
  54. data/spec/lib/workos/mfa_spec.rb +0 -1
  55. data/spec/lib/workos/organizations_spec.rb +0 -1
  56. data/spec/lib/workos/passwordless_spec.rb +0 -1
  57. data/spec/lib/workos/portal_spec.rb +0 -1
  58. data/spec/lib/workos/sso_spec.rb +0 -1
  59. data/spec/lib/workos/user_management_spec.rb +0 -1
  60. data/spec/lib/workos/webhooks_spec.rb +0 -1
  61. data/spec/spec_helper.rb +0 -9
  62. data/spec/support/shared_examples/client_spec.rb +0 -1
  63. data/workos.gemspec +1 -6
  64. metadata +11 -129
  65. data/.semaphore/rubygems.yml +0 -24
  66. data/.semaphore/semaphore.yml +0 -51
  67. data/bin/tapioca +0 -29
  68. data/codecov.yml +0 -12
  69. data/devbox.json +0 -18
  70. data/devbox.lock +0 -11
  71. data/lib/workos/types/audit_log_export_struct.rb +0 -17
  72. data/lib/workos/types/challenge_struct.rb +0 -18
  73. data/lib/workos/types/connection_struct.rb +0 -20
  74. data/lib/workos/types/directory_group_struct.rb +0 -19
  75. data/lib/workos/types/directory_struct.rb +0 -19
  76. data/lib/workos/types/directory_user_struct.rb +0 -26
  77. data/lib/workos/types/event_struct.rb +0 -15
  78. data/lib/workos/types/factor_struct.rb +0 -18
  79. data/lib/workos/types/intent_enum.rb +0 -17
  80. data/lib/workos/types/invitation_struct.rb +0 -20
  81. data/lib/workos/types/magic_auth_challenge_struct.rb +0 -12
  82. data/lib/workos/types/organization_membership_struct.rb +0 -16
  83. data/lib/workos/types/organization_struct.rb +0 -17
  84. data/lib/workos/types/profile_struct.rb +0 -21
  85. data/lib/workos/types/provider_enum.rb +0 -16
  86. data/lib/workos/types/user_struct.rb +0 -18
  87. data/lib/workos/types/verify_challenge_struct.rb +0 -13
  88. data/lib/workos/types/webhook_struct.rb +0 -15
  89. data/sorbet/config +0 -2
  90. data/sorbet/rbi/gems/addressable@2.8.0.rbi +0 -290
  91. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -54
  92. data/sorbet/rbi/gems/codecov@0.2.12.rbi +0 -55
  93. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -8
  94. data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -57
  95. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +0 -185
  96. data/sorbet/rbi/gems/docile@1.3.5.rbi +0 -54
  97. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -82
  98. data/sorbet/rbi/gems/json@2.5.1.rbi +0 -109
  99. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -8
  100. data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -113
  101. data/sorbet/rbi/gems/parser@3.0.1.0.rbi +0 -1187
  102. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -8
  103. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +0 -146
  104. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -153
  105. data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -807
  106. data/sorbet/rbi/gems/rbi@0.0.16.rbi +0 -2118
  107. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -1117
  108. data/sorbet/rbi/gems/rexml@3.2.5.rbi +0 -709
  109. data/sorbet/rbi/gems/rspec-core@3.9.3.rbi +0 -2467
  110. data/sorbet/rbi/gems/rspec-expectations@3.9.4.rbi +0 -1569
  111. data/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi +0 -1493
  112. data/sorbet/rbi/gems/rspec-support@3.9.4.rbi +0 -511
  113. data/sorbet/rbi/gems/rspec@3.9.0.rbi +0 -38
  114. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -1881
  115. data/sorbet/rbi/gems/rubocop@0.93.1.rbi +0 -11497
  116. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -405
  117. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -89
  118. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +0 -577
  119. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.2.rbi +0 -8
  120. data/sorbet/rbi/gems/spoom@1.1.15.rbi +0 -1549
  121. data/sorbet/rbi/gems/tapioca@0.7.3.rbi +0 -1718
  122. data/sorbet/rbi/gems/thor@1.2.1.rbi +0 -844
  123. data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +0 -22
  124. data/sorbet/rbi/gems/unparser@0.6.2.rbi +0 -8
  125. data/sorbet/rbi/gems/vcr@5.0.0.rbi +0 -699
  126. data/sorbet/rbi/gems/webmock@3.12.2.rbi +0 -662
  127. data/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi +0 -268
  128. data/sorbet/rbi/gems/yard@0.9.26.rbi +0 -4048
  129. data/sorbet/tapioca/config.yml +0 -13
  130. data/sorbet/tapioca/require.rb +0 -4
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: true
3
2
 
4
3
  module WorkOS
5
4
  # The Webhook class provides a lightweight wrapper around
@@ -7,18 +6,16 @@ module WorkOS
7
6
  # in user space, and is instantiated internally but exposed.
8
7
  class Webhook
9
8
  include HashProvider
10
- extend T::Sig
11
9
 
12
10
  attr_accessor :id, :event, :data, :created_at
13
11
 
14
- sig { params(json: String).void }
15
12
  def initialize(json)
16
- raw = parse_json(json)
13
+ hash = JSON.parse(json, symbolize_names: true)
17
14
 
18
- @id = T.let(raw.id, String)
19
- @event = T.let(raw.event, String)
20
- @data = raw.data
21
- @created_at = T.let(raw.created_at, String)
15
+ @id = hash[:id]
16
+ @event = hash[:event]
17
+ @data = hash[:data]
18
+ @created_at = hash[:created_at]
22
19
  end
23
20
 
24
21
  def to_json(*)
@@ -29,23 +26,5 @@ module WorkOS
29
26
  created_at: created_at,
30
27
  }
31
28
  end
32
-
33
- private
34
-
35
- sig do
36
- params(
37
- json_string: String,
38
- ).returns(WorkOS::Types::WebhookStruct)
39
- end
40
- def parse_json(json_string)
41
- hash = JSON.parse(json_string, symbolize_names: true)
42
-
43
- WorkOS::Types::WebhookStruct.new(
44
- id: hash[:id],
45
- event: hash[:event],
46
- data: hash[:data],
47
- created_at: hash[:created_at],
48
- )
49
- end
50
29
  end
51
30
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: true
3
2
 
4
3
  require 'openssl'
5
4
 
@@ -14,8 +13,6 @@ module WorkOS
14
13
  #
15
14
  module Webhooks
16
15
  class << self
17
- extend T::Sig
18
-
19
16
  DEFAULT_TOLERANCE = 180
20
17
 
21
18
  # Initializes an Event object from a JSON payload
@@ -37,14 +34,6 @@ module WorkOS
37
34
  #
38
35
  # @return [WorkOS::Webhook]
39
36
  # rubocop:enable Layout/LineLength
40
- sig do
41
- params(
42
- payload: String,
43
- sig_header: String,
44
- secret: String,
45
- tolerance: Integer,
46
- ).returns(WorkOS::Webhook)
47
- end
48
37
  def construct_event(
49
38
  payload:,
50
39
  sig_header:,
@@ -74,14 +63,6 @@ module WorkOS
74
63
  #
75
64
  # @return Boolean
76
65
  # rubocop:enable Layout/LineLength
77
- sig do
78
- params(
79
- payload: String,
80
- sig_header: String,
81
- secret: String,
82
- tolerance: Integer,
83
- ).returns(T::Boolean)
84
- end
85
66
  # rubocop:disable Metrics/AbcSize
86
67
  def verify_header(
87
68
  payload:,
@@ -134,11 +115,6 @@ module WorkOS
134
115
  # => ['1626125972272', '80f7ab7efadc306eb5797c588cee9410da9be4416782b497bf1e1bf4175fb928']
135
116
  #
136
117
  # @return Array
137
- sig do
138
- params(
139
- sig_header: String,
140
- ).returns([String, String])
141
- end
142
118
  def get_timestamp_and_signature_hash(
143
119
  sig_header:
144
120
  )
@@ -174,13 +150,6 @@ module WorkOS
174
150
  #
175
151
  # @return String
176
152
  # rubocop:enable Layout/LineLength
177
- sig do
178
- params(
179
- timestamp: String,
180
- payload: String,
181
- secret: String,
182
- ).returns(String)
183
- end
184
153
  def compute_signature(
185
154
  timestamp:,
186
155
  payload:,
@@ -193,19 +162,13 @@ module WorkOS
193
162
 
194
163
  # Constant time string comparison to prevent timing attacks
195
164
  # Code borrowed from ActiveSupport
196
- sig do
197
- params(
198
- str_a: String,
199
- str_b: String,
200
- ).returns(T::Boolean)
201
- end
202
165
  def secure_compare(
203
166
  str_a:,
204
167
  str_b:
205
168
  )
206
169
  return false unless str_a.bytesize == str_b.bytesize
207
170
 
208
- l = T.unsafe(str_a.unpack("C#{str_a.bytesize}"))
171
+ l = str_a.unpack("C#{str_a.bytesize}")
209
172
 
210
173
  res = 0
211
174
  str_b.each_byte { |byte| res |= byte ^ l.shift }
data/lib/workos.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
- # typed: true
3
2
 
4
3
  require 'workos/version'
5
- require 'sorbet-runtime'
6
4
  require 'json'
7
5
  require 'workos/hash_provider'
8
6
  require 'workos/configuration'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::AuditLogs do
5
4
  it_behaves_like 'client'
@@ -48,7 +47,7 @@ describe WorkOS::AuditLogs do
48
47
  idempotency_key: 'idempotency_key',
49
48
  )
50
49
 
51
- expect(response).to eq T::Private::Types::Void::VOID
50
+ expect(response.code).to eq '201'
52
51
  end
53
52
  end
54
53
  end
@@ -61,7 +60,7 @@ describe WorkOS::AuditLogs do
61
60
  event: valid_event,
62
61
  )
63
62
 
64
- expect(response).to eq T::Private::Types::Void::VOID
63
+ expect(response.code).to eq '201'
65
64
  end
66
65
  end
67
66
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS do
5
4
  describe '.configure' do
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::DirectorySync do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::DirectoryUser do
5
4
  # rubocop:disable Layout/LineLength
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::Events do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::MFA do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::Organizations do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::Passwordless do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::Portal do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  require 'securerandom'
5
4
 
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  describe WorkOS::UserManagement do
5
4
  it_behaves_like 'client'
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  require 'json'
5
4
  require 'openssl'
data/spec/spec_helper.rb CHANGED
@@ -1,13 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
-
4
- require 'simplecov'
5
- SimpleCov.start
6
-
7
- if ENV['CI'] == 'true'
8
- require 'codecov'
9
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
10
- end
11
2
 
12
3
  $LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
13
4
  $LOAD_PATH << File.join(File.dirname(__FILE__))
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # typed: false
3
2
 
4
3
  RSpec.shared_examples 'client' do
5
4
  subject(:client) { described_class.client }
data/workos.gemspec CHANGED
@@ -21,16 +21,11 @@ Gem::Specification.new do |spec|
21
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_dependency 'sorbet-runtime', '~> 0.5'
25
-
26
24
  spec.add_development_dependency 'bundler', '>= 2.0.1'
27
- spec.add_development_dependency 'codecov', '~> 0.2.8'
28
25
  spec.add_development_dependency 'rspec', '~> 3.9.0'
29
26
  spec.add_development_dependency 'rubocop', '~> 0.77'
30
- spec.add_development_dependency 'sorbet', '~> 0.5'
31
- spec.add_development_dependency 'tapioca'
32
27
  spec.add_development_dependency 'vcr', '~> 5.0.0'
33
28
  spec.add_development_dependency 'webmock'
34
29
 
35
- spec.required_ruby_version = '>= 2.5'
30
+ spec.required_ruby_version = '>= 2.7'
36
31
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workos
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-20 00:00:00.000000000 Z
11
+ date: 2024-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: sorbet-runtime
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.5'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.5'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -38,20 +24,6 @@ dependencies:
38
24
  - - ">="
39
25
  - !ruby/object:Gem::Version
40
26
  version: 2.0.1
41
- - !ruby/object:Gem::Dependency
42
- name: codecov
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.2.8
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.2.8
55
27
  - !ruby/object:Gem::Dependency
56
28
  name: rspec
57
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,34 +52,6 @@ dependencies:
80
52
  - - "~>"
81
53
  - !ruby/object:Gem::Version
82
54
  version: '0.77'
83
- - !ruby/object:Gem::Dependency
84
- name: sorbet
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.5'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.5'
97
- - !ruby/object:Gem::Dependency
98
- name: tapioca
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
55
  - !ruby/object:Gem::Dependency
112
56
  name: vcr
113
57
  requirement: !ruby/object:Gem::Requirement
@@ -146,12 +90,12 @@ files:
146
90
  - ".github/CODEOWNERS"
147
91
  - ".github/pull_request_template.md"
148
92
  - ".github/renovate.json"
93
+ - ".github/workflows/ci.yml"
94
+ - ".github/workflows/release.yml"
149
95
  - ".gitignore"
150
96
  - ".rspec"
151
97
  - ".rubocop.yml"
152
98
  - ".ruby-version"
153
- - ".semaphore/rubygems.yml"
154
- - ".semaphore/semaphore.yml"
155
99
  - Gemfile
156
100
  - Gemfile.lock
157
101
  - LICENSE
@@ -159,10 +103,6 @@ files:
159
103
  - bin/build
160
104
  - bin/console
161
105
  - bin/publish
162
- - bin/tapioca
163
- - codecov.yml
164
- - devbox.json
165
- - devbox.lock
166
106
  - lib/workos.rb
167
107
  - lib/workos/audit_log_export.rb
168
108
  - lib/workos/audit_logs.rb
@@ -195,26 +135,10 @@ files:
195
135
  - lib/workos/refresh_authentication_response.rb
196
136
  - lib/workos/sso.rb
197
137
  - lib/workos/types.rb
198
- - lib/workos/types/audit_log_export_struct.rb
199
- - lib/workos/types/challenge_struct.rb
200
- - lib/workos/types/connection_struct.rb
201
- - lib/workos/types/directory_group_struct.rb
202
- - lib/workos/types/directory_struct.rb
203
- - lib/workos/types/directory_user_struct.rb
204
- - lib/workos/types/event_struct.rb
205
- - lib/workos/types/factor_struct.rb
206
- - lib/workos/types/intent_enum.rb
207
- - lib/workos/types/invitation_struct.rb
138
+ - lib/workos/types/intent.rb
208
139
  - lib/workos/types/list_struct.rb
209
- - lib/workos/types/magic_auth_challenge_struct.rb
210
- - lib/workos/types/organization_membership_struct.rb
211
- - lib/workos/types/organization_struct.rb
212
140
  - lib/workos/types/passwordless_session_struct.rb
213
- - lib/workos/types/profile_struct.rb
214
- - lib/workos/types/provider_enum.rb
215
- - lib/workos/types/user_struct.rb
216
- - lib/workos/types/verify_challenge_struct.rb
217
- - lib/workos/types/webhook_struct.rb
141
+ - lib/workos/types/provider.rb
218
142
  - lib/workos/user.rb
219
143
  - lib/workos/user_and_token.rb
220
144
  - lib/workos/user_management.rb
@@ -223,48 +147,6 @@ files:
223
147
  - lib/workos/version.rb
224
148
  - lib/workos/webhook.rb
225
149
  - lib/workos/webhooks.rb
226
- - sorbet/config
227
- - sorbet/rbi/gems/addressable@2.8.0.rbi
228
- - sorbet/rbi/gems/ast@2.4.2.rbi
229
- - sorbet/rbi/gems/codecov@0.2.12.rbi
230
- - sorbet/rbi/gems/coderay@1.1.3.rbi
231
- - sorbet/rbi/gems/crack@0.4.5.rbi
232
- - sorbet/rbi/gems/diff-lcs@1.4.4.rbi
233
- - sorbet/rbi/gems/docile@1.3.5.rbi
234
- - sorbet/rbi/gems/hashdiff@1.0.1.rbi
235
- - sorbet/rbi/gems/json@2.5.1.rbi
236
- - sorbet/rbi/gems/method_source@1.0.0.rbi
237
- - sorbet/rbi/gems/parallel@1.20.1.rbi
238
- - sorbet/rbi/gems/parser@3.0.1.0.rbi
239
- - sorbet/rbi/gems/pry@0.14.2.rbi
240
- - sorbet/rbi/gems/public_suffix@4.0.6.rbi
241
- - sorbet/rbi/gems/rainbow@3.0.0.rbi
242
- - sorbet/rbi/gems/rake@13.0.3.rbi
243
- - sorbet/rbi/gems/rbi@0.0.16.rbi
244
- - sorbet/rbi/gems/regexp_parser@2.1.1.rbi
245
- - sorbet/rbi/gems/rexml@3.2.5.rbi
246
- - sorbet/rbi/gems/rspec-core@3.9.3.rbi
247
- - sorbet/rbi/gems/rspec-expectations@3.9.4.rbi
248
- - sorbet/rbi/gems/rspec-mocks@3.9.1.rbi
249
- - sorbet/rbi/gems/rspec-support@3.9.4.rbi
250
- - sorbet/rbi/gems/rspec@3.9.0.rbi
251
- - sorbet/rbi/gems/rubocop-ast@1.4.1.rbi
252
- - sorbet/rbi/gems/rubocop@0.93.1.rbi
253
- - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
254
- - sorbet/rbi/gems/simplecov-html@0.12.3.rbi
255
- - sorbet/rbi/gems/simplecov@0.21.2.rbi
256
- - sorbet/rbi/gems/simplecov_json_formatter@0.1.2.rbi
257
- - sorbet/rbi/gems/spoom@1.1.15.rbi
258
- - sorbet/rbi/gems/tapioca@0.7.3.rbi
259
- - sorbet/rbi/gems/thor@1.2.1.rbi
260
- - sorbet/rbi/gems/unicode-display_width@1.7.0.rbi
261
- - sorbet/rbi/gems/unparser@0.6.2.rbi
262
- - sorbet/rbi/gems/vcr@5.0.0.rbi
263
- - sorbet/rbi/gems/webmock@3.12.2.rbi
264
- - sorbet/rbi/gems/yard-sorbet@0.8.0.rbi
265
- - sorbet/rbi/gems/yard@0.9.26.rbi
266
- - sorbet/tapioca/config.yml
267
- - sorbet/tapioca/require.rb
268
150
  - spec/lib/workos/audit_logs_spec.rb
269
151
  - spec/lib/workos/configuration_spec.rb
270
152
  - spec/lib/workos/directory_sync_spec.rb
@@ -433,7 +315,7 @@ licenses:
433
315
  - MIT
434
316
  metadata:
435
317
  documentation_uri: https://docs.workos.com/sdk/ruby
436
- post_install_message:
318
+ post_install_message:
437
319
  rdoc_options: []
438
320
  require_paths:
439
321
  - lib
@@ -441,15 +323,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
441
323
  requirements:
442
324
  - - ">="
443
325
  - !ruby/object:Gem::Version
444
- version: '2.5'
326
+ version: '2.7'
445
327
  required_rubygems_version: !ruby/object:Gem::Requirement
446
328
  requirements:
447
329
  - - ">="
448
330
  - !ruby/object:Gem::Version
449
331
  version: '0'
450
332
  requirements: []
451
- rubygems_version: 3.5.6
452
- signing_key:
333
+ rubygems_version: 3.4.19
334
+ signing_key:
453
335
  specification_version: 4
454
336
  summary: API client for WorkOS
455
337
  test_files:
@@ -1,24 +0,0 @@
1
- version: v1.0
2
-
3
- name: Rubygems deployment
4
- agent:
5
- machine:
6
- type: e1-standard-2
7
- os_image: ubuntu1804
8
-
9
- blocks:
10
- - name: Build & Publish 🛠 💎
11
- task:
12
- secrets:
13
- - name: workos-rubygems
14
- jobs:
15
- - name: Publish to Rubygems
16
- commands:
17
- - checkout
18
- - sem-version ruby 2.6.5
19
- - gem update --system
20
- - gem install bundler
21
- - bundle install
22
- - chmod 0600 /home/semaphore/.gem/credentials
23
- - bundle exec gem build workos --output=release.gem
24
- - bundle exec gem push release.gem
@@ -1,51 +0,0 @@
1
- version: v1.0
2
- name: Ruby
3
-
4
- agent:
5
- machine:
6
- type: e1-standard-2
7
- os_image: ubuntu2004
8
-
9
- blocks:
10
- - name: Run Sorbet 🍦
11
- task:
12
- jobs:
13
- - name: srb tc
14
- commands:
15
- - checkout
16
- - bundle install
17
- - bundle exec srb tc
18
-
19
- - name: Run Rubocop 🚔
20
- task:
21
- jobs:
22
- - name: rubocop
23
- commands:
24
- - checkout
25
- - bundle install
26
- - bundle exec rubocop
27
-
28
- - name: Run Tests 👩🏽‍🔬
29
- task:
30
- secrets:
31
- - name: codecov-workos-ruby
32
- jobs:
33
- - name: Ruby 1.9.3
34
- matrix:
35
- - env_var: RUBY_VERSION
36
- values:
37
- - 1.9.3-p551
38
- - 2.0.0-p648
39
- - 2.3.4
40
- - 2.5.7
41
- - 2.6.5
42
- - 2.7.3
43
- - 3.0.2
44
- commands:
45
- - checkout
46
- - sem-version ruby $RUBY_VERSION
47
- - bundle install
48
- - bundle exec rspec
49
- promotions:
50
- - name: Deploy workos-rb to rubygems
51
- pipeline_file: rubygems.yml
data/bin/tapioca DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'tapioca' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath,)
14
-
15
- bundle_binstub = File.expand_path('bundle', __dir__)
16
-
17
- if File.file?(bundle_binstub)
18
- if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
- load(bundle_binstub)
20
- else
21
- abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
- Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
- end
24
- end
25
-
26
- require 'rubygems'
27
- require 'bundler/setup'
28
-
29
- load Gem.bin_path('tapioca', 'tapioca')
data/codecov.yml DELETED
@@ -1,12 +0,0 @@
1
- coverage:
2
- status:
3
- patch: off
4
- project:
5
- default:
6
- target: 90%
7
- parsers:
8
- v1:
9
- include_full_missed_files: true
10
- ignore:
11
- - "spec/*/**"
12
- - "sorbet/*/**"
data/devbox.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "packages": [
3
- "ruby@3.0.2"
4
- ],
5
- "shell": {
6
- "init_hook": [
7
- "bundle install"
8
- ],
9
- "scripts": {
10
- "test": [
11
- "bundle exec rspec"
12
- ],
13
- "lint": [
14
- "bundle exec rubocop"
15
- ]
16
- }
17
- }
18
- }
data/devbox.lock DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "lockfile_version": "1",
3
- "packages": {
4
- "ruby@3.0.2": {
5
- "last_modified": "2021-11-01T15:39:33Z",
6
- "plugin_version": "0.0.1",
7
- "resolved": "github:NixOS/nixpkgs/7053541084bf5ce2921ef307e5585d39d7ba8b3f#ruby_3_0",
8
- "version": "3.0.2"
9
- }
10
- }
11
- }
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
- # typed: strict
3
-
4
- module WorkOS
5
- module Types
6
- # This AuditLogExportStruct acts as a typed interface
7
- # for the AuditLogExport class
8
- class AuditLogExportStruct < T::Struct
9
- const :object, String
10
- const :id, String
11
- const :state, String
12
- const :url, T.nilable(String)
13
- const :created_at, String
14
- const :updated_at, String
15
- end
16
- end
17
- end