jbr 1.0.5 → 1.0.7
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +11 -0
- data/lib/jbr/event.rb +17 -0
- data/lib/jbr/mock/oauth.rb +1 -1
- data/lib/jbr/version.rb +1 -1
- data/lib/jbr.rb +2 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0e910cc53b4d0d49088e05481c72f0d828c97ecbea3e5c5a6a78da4d61988c7c
|
|
4
|
+
data.tar.gz: 8f9945fe6d165a8d6837a567433472e244f25236db495b714269454efb85a662
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f4996c8bea8e6596863240cb7caee1d59e8ade0aeaba02c059ac0ff8e770e062a94dc2ca385a399033b36f4da9a6ba0fcc8ab5c81ccb3a576f471e6b0d9d6a76
|
|
7
|
+
data.tar.gz: 0de414c6ece8eb9ce928c9431ed074472038efcf243d73af4262a43465fc1b128cb99f866f2d16956ff52f10a230cc05db3f54387e946f5d8fe4c01a02765d69
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [1.0.7] - 2026-05-26
|
|
2
|
+
|
|
3
|
+
- [New] Add Jbr::Event to parse webhook payloads
|
|
4
|
+
|
|
5
|
+
## [1.0.6] - 2026-05-24
|
|
6
|
+
|
|
7
|
+
- [Change] Return mock.oauth_error as the message of Jbr::Error
|
|
8
|
+
|
|
1
9
|
## [1.0.5] - 2026-05-24
|
|
2
10
|
|
|
3
11
|
- [Feature] Add mocks to help apps test Jobber integration
|
data/README.md
CHANGED
|
@@ -83,6 +83,17 @@ invoice.issued_at # => 2026-05-22 12:12:53
|
|
|
83
83
|
invoice.completed_at # => 2026-05-22 14:32:53
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
+
### Events
|
|
87
|
+
|
|
88
|
+
Parse the payload of a Jobber event webhook:
|
|
89
|
+
|
|
90
|
+
```ruby
|
|
91
|
+
event = Jbr::Event.new data: { webHookEvent: { topic: 'JOB_CREATE', appId: 'app-1',
|
|
92
|
+
accountId: 'account-1', itemId: 'job-1', occurredAt: '2026-05-22T15:46:33Z' } }
|
|
93
|
+
event.account_id = 'account-1
|
|
94
|
+
event.item_id = 'job-1
|
|
95
|
+
```
|
|
96
|
+
|
|
86
97
|
## Available mocks
|
|
87
98
|
|
|
88
99
|
Use these methods to mock request to Jobber when testing an app:
|
data/lib/jbr/event.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Jbr
|
|
2
|
+
class Event
|
|
3
|
+
# @see https://developer.getjobber.com/docs/using_jobbers_api/setting_up_webhooks
|
|
4
|
+
SIGNATURE_HEADER = 'X-Jobber-Hmac-SHA256'
|
|
5
|
+
|
|
6
|
+
# @param params [Hash] the payload for an event webhook.
|
|
7
|
+
def initialize(params = {})
|
|
8
|
+
@params = params
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# @return [String] unique identifier of the event target.
|
|
12
|
+
def item_id = @params.dig :data, :webHookEvent, :itemId
|
|
13
|
+
|
|
14
|
+
# @return [String] unique identifier of the event account.
|
|
15
|
+
def account_id = @params.dig :data, :webHookEvent, :accountId
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/jbr/mock/oauth.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Jbr
|
|
|
11
11
|
private
|
|
12
12
|
|
|
13
13
|
def self.post(_)
|
|
14
|
-
raise Error,
|
|
14
|
+
raise Error, Jbr.mock.oauth_error if Jbr.mock.oauth_error
|
|
15
15
|
|
|
16
16
|
{ access_token: 'mock-token', refresh_token: 'mock-token', expires_at: (Time.current + 3600) }
|
|
17
17
|
end
|
data/lib/jbr/version.rb
CHANGED
data/lib/jbr.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jbr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Claudio Baccigalupo
|
|
@@ -27,6 +27,7 @@ files:
|
|
|
27
27
|
- lib/jbr/client.rb
|
|
28
28
|
- lib/jbr/configuration.rb
|
|
29
29
|
- lib/jbr/error.rb
|
|
30
|
+
- lib/jbr/event.rb
|
|
30
31
|
- lib/jbr/invoice.rb
|
|
31
32
|
- lib/jbr/job.rb
|
|
32
33
|
- lib/jbr/mock.rb
|