Class: Hookdeck::Client
- Inherits:
-
Object
- Object
- Hookdeck::Client
- Extended by:
- Forwardable
- Defined in:
- lib/hookdeck/client.rb
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#http_client ⇒ Object
readonly
Returns the value of attribute http_client.
Instance Method Summary collapse
-
#attempts ⇒ Hookdeck::Resources::Attempt
Accessor for the Attempt resource.
-
#bookmarks ⇒ Hookdeck::Resources::Bookmark
Accessor for the Bookmark resource.
-
#bulk_events_retry ⇒ Hookdeck::Resources::BulkEventRetry
Accessor for the BulkEventRetry resource.
-
#bulk_ignored_events_retry ⇒ Hookdeck::Resources::BulkIgnoredEventsRetry
Accessor for the BulkIgnoredEventsRetry resource.
-
#bulk_requests_retry ⇒ Hookdeck::Resources::BulkRequestsRetry
Accessor for the BulkRequestsRetry resource.
-
#connections ⇒ Hookdeck::Resources::Connection
Accessor for the Connection resource.
-
#custom_domains ⇒ Hookdeck::Resources::CustomDomain
Accessor for the CustomDomain resource.
-
#destinations ⇒ Hookdeck::Resources::Destination
Accessor for the Destination resource.
-
#events ⇒ Hookdeck::Resources::Event
Accessor for the Event resource.
-
#initialize(api_key = nil, options = {}) ⇒ Client
constructor
A new instance of Client.
-
#issue_triggers ⇒ Hookdeck::Resources::IssueTrigger
Accessor for the IssueTrigger resource.
-
#issues ⇒ Hookdeck::Resources::Issue
Accessor for the Issue resource.
-
#notifications ⇒ Hookdeck::Resources::Notification
Accessor for the Notification resource.
-
#request(method, path, params = {}, opts = {}) ⇒ Hash
Sends a request to the Hookdeck API.
-
#requests ⇒ Hookdeck::Resources::Request
Accessor for the Request resource.
-
#sources ⇒ Hookdeck::Resources::Source
Accessor for the Source resource.
-
#transformations ⇒ Hookdeck::Resources::Transformation
Accessor for the Transformation resource.
Constructor Details
#initialize(api_key = nil, options = {}) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 |
# File 'lib/hookdeck/client.rb', line 7 def initialize(api_key = nil, = {}) @config = build_config(api_key, ) @http_client = HttpClient.new(@config) initialize_resources end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
5 6 7 |
# File 'lib/hookdeck/client.rb', line 5 def config @config end |
#http_client ⇒ Object (readonly)
Returns the value of attribute http_client.
5 6 7 |
# File 'lib/hookdeck/client.rb', line 5 def http_client @http_client end |
Instance Method Details
#attempts ⇒ Hookdeck::Resources::Attempt
Accessor for the Attempt resource.
34 35 36 |
# File 'lib/hookdeck/client.rb', line 34 def attempts @attempts ||= Hookdeck::Resources::Attempt.new(self) end |
#bookmarks ⇒ Hookdeck::Resources::Bookmark
Accessor for the Bookmark resource.
41 42 43 |
# File 'lib/hookdeck/client.rb', line 41 def bookmarks @bookmarks ||= Hookdeck::Resources::Bookmark.new(self) end |
#bulk_events_retry ⇒ Hookdeck::Resources::BulkEventRetry
Accessor for the BulkEventRetry resource.
125 126 127 |
# File 'lib/hookdeck/client.rb', line 125 def bulk_events_retry @bulk_events_retry ||= Hookdeck::Resources::BulkEventRetry.new(self) end |
#bulk_ignored_events_retry ⇒ Hookdeck::Resources::BulkIgnoredEventsRetry
Accessor for the BulkIgnoredEventsRetry resource.
118 119 120 |
# File 'lib/hookdeck/client.rb', line 118 def bulk_ignored_events_retry @bulk_ignored_events_retry ||= Hookdeck::Resources::BulkIgnoredEventsRetry.new(self) end |
#bulk_requests_retry ⇒ Hookdeck::Resources::BulkRequestsRetry
Accessor for the BulkRequestsRetry resource.
132 133 134 |
# File 'lib/hookdeck/client.rb', line 132 def bulk_requests_retry @bulk_requests_retry ||= Hookdeck::Resources::BulkRequestsRetry.new(self) end |
#connections ⇒ Hookdeck::Resources::Connection
Accessor for the Connection resource.
48 49 50 |
# File 'lib/hookdeck/client.rb', line 48 def connections @connections ||= Hookdeck::Resources::Connection.new(self) end |
#custom_domains ⇒ Hookdeck::Resources::CustomDomain
Accessor for the CustomDomain resource.
97 98 99 |
# File 'lib/hookdeck/client.rb', line 97 def custom_domains @custom_domains ||= Hookdeck::Resources::CustomDomain.new(self) end |
#destinations ⇒ Hookdeck::Resources::Destination
Accessor for the Destination resource.
76 77 78 |
# File 'lib/hookdeck/client.rb', line 76 def destinations @destinations ||= Hookdeck::Resources::Destination.new(self) end |
#events ⇒ Hookdeck::Resources::Event
Accessor for the Event resource.
55 56 57 |
# File 'lib/hookdeck/client.rb', line 55 def events @events ||= Hookdeck::Resources::Event.new(self) end |
#issue_triggers ⇒ Hookdeck::Resources::IssueTrigger
Accessor for the IssueTrigger resource.
90 91 92 |
# File 'lib/hookdeck/client.rb', line 90 def issue_triggers @issue_triggers ||= Hookdeck::Resources::IssueTrigger.new(self) end |
#issues ⇒ Hookdeck::Resources::Issue
Accessor for the Issue resource.
83 84 85 |
# File 'lib/hookdeck/client.rb', line 83 def issues @issues ||= Hookdeck::Resources::Issue.new(self) end |
#notifications ⇒ Hookdeck::Resources::Notification
Accessor for the Notification resource.
62 63 64 |
# File 'lib/hookdeck/client.rb', line 62 def notifications @notifications ||= Hookdeck::Resources::Notification.new(self) end |
#request(method, path, params = {}, opts = {}) ⇒ Hash
Sends a request to the Hookdeck API.
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/hookdeck/client.rb', line 20 def request(method, path, params = {}, opts = {}) response = http_client.connection.public_send(method) do |req| req.url(path) req.params = params if params.any? req.body = opts[:body].to_json if opts[:body] req.headers.merge!(opts[:headers] || {}) end response.body end |
#requests ⇒ Hookdeck::Resources::Request
Accessor for the Request resource.
104 105 106 |
# File 'lib/hookdeck/client.rb', line 104 def requests @requests ||= Hookdeck::Resources::Request.new(self) end |
#sources ⇒ Hookdeck::Resources::Source
Accessor for the Source resource.
69 70 71 |
# File 'lib/hookdeck/client.rb', line 69 def sources @sources ||= Hookdeck::Resources::Source.new(self) end |
#transformations ⇒ Hookdeck::Resources::Transformation
Accessor for the Transformation resource.
111 112 113 |
# File 'lib/hookdeck/client.rb', line 111 def transformations @transformations ||= Hookdeck::Resources::Transformation.new(self) end |