Skip to content

Commit f434716

Browse files
feat(client): add webhook support
1 parent 21805c5 commit f434716

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

lib/orb/client.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ class Client < Orb::Internal::Transport::BaseClient
1818
# @return [String]
1919
attr_reader :api_key
2020

21+
# @return [String, nil]
22+
attr_reader :webhook_secret
23+
2124
# @return [Orb::Resources::TopLevel]
2225
attr_reader :top_level
2326

@@ -160,6 +163,8 @@ class Client < Orb::Internal::Transport::BaseClient
160163
#
161164
# @param api_key [String, nil] Defaults to `ENV["ORB_API_KEY"]`
162165
#
166+
# @param webhook_secret [String, nil] Defaults to `ENV["ORB_WEBHOOK_SECRET"]`
167+
#
163168
# @param base_url [String, nil] Override the default base URL for the API, e.g.,
164169
# `"https://api.example.com/v2/"`. Defaults to `ENV["ORB_BASE_URL"]`
165170
#
@@ -174,6 +179,7 @@ class Client < Orb::Internal::Transport::BaseClient
174179
# @param idempotency_header [String]
175180
def initialize(
176181
api_key: ENV["ORB_API_KEY"],
182+
webhook_secret: ENV["ORB_WEBHOOK_SECRET"],
177183
base_url: ENV["ORB_BASE_URL"],
178184
max_retries: self.class::DEFAULT_MAX_RETRIES,
179185
timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
@@ -188,6 +194,7 @@ def initialize(
188194
end
189195

190196
@api_key = api_key.to_s
197+
@webhook_secret = webhook_secret&.to_s
191198

192199
super(
193200
base_url: base_url,

rbi/orb/client.rbi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ module Orb
1313
sig { returns(String) }
1414
attr_reader :api_key
1515

16+
sig { returns(T.nilable(String)) }
17+
attr_reader :webhook_secret
18+
1619
sig { returns(Orb::Resources::TopLevel) }
1720
attr_reader :top_level
1821

@@ -151,6 +154,7 @@ module Orb
151154
sig do
152155
params(
153156
api_key: T.nilable(String),
157+
webhook_secret: T.nilable(String),
154158
base_url: T.nilable(String),
155159
max_retries: Integer,
156160
timeout: Float,
@@ -162,6 +166,8 @@ module Orb
162166
def self.new(
163167
# Defaults to `ENV["ORB_API_KEY"]`
164168
api_key: ENV["ORB_API_KEY"],
169+
# Defaults to `ENV["ORB_WEBHOOK_SECRET"]`
170+
webhook_secret: ENV["ORB_WEBHOOK_SECRET"],
165171
# Override the default base URL for the API, e.g.,
166172
# `"https://api.example.com/v2/"`. Defaults to `ENV["ORB_BASE_URL"]`
167173
base_url: ENV["ORB_BASE_URL"],

sig/orb/client.rbs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ module Orb
1010

1111
attr_reader api_key: String
1212

13+
attr_reader webhook_secret: String?
14+
1315
attr_reader top_level: Orb::Resources::TopLevel
1416

1517
attr_reader beta: Orb::Resources::Beta
@@ -52,6 +54,7 @@ module Orb
5254

5355
def initialize: (
5456
?api_key: String?,
57+
?webhook_secret: String?,
5558
?base_url: String?,
5659
?max_retries: Integer,
5760
?timeout: Float,

0 commit comments

Comments
 (0)