class ProcessOut::Webhook
Attributes
created_at[R]
event[R]
event_id[R]
id[R]
project[R]
project_id[R]
release_at[R]
request_method[R]
request_url[R]
response_body[R]
response_code[R]
response_headers[R]
response_time_ms[R]
status[R]
Public Class Methods
new(client, data = {})
click to toggle source
Initializes the Webhook
object Params:
client
-
ProcessOut
client instance data
-
data that can be used to fill the object
# File lib/processout/webhook.rb, line 112 def initialize(client, data = {}) @client = client self.id = data.fetch(:id, nil) self.project = data.fetch(:project, nil) self.project_id = data.fetch(:project_id, nil) self.event = data.fetch(:event, nil) self.event_id = data.fetch(:event_id, nil) self.request_url = data.fetch(:request_url, nil) self.request_method = data.fetch(:request_method, nil) self.response_body = data.fetch(:response_body, nil) self.response_code = data.fetch(:response_code, nil) self.response_headers = data.fetch(:response_headers, nil) self.response_time_ms = data.fetch(:response_time_ms, nil) self.status = data.fetch(:status, nil) self.created_at = data.fetch(:created_at, nil) self.release_at = data.fetch(:release_at, nil) end
Public Instance Methods
created_at=(val)
click to toggle source
# File lib/processout/webhook.rb, line 99 def created_at=(val) @created_at = val end
event=(val)
click to toggle source
# File lib/processout/webhook.rb, line 51 def event=(val) if val.nil? @event = val return end if val.instance_of? Event @event = val else obj = Event.new(@client) obj.fill_with_data(val) @event = obj end end
event_id=(val)
click to toggle source
# File lib/processout/webhook.rb, line 67 def event_id=(val) @event_id = val end
fill_with_data(data)
click to toggle source
Fills the object with data coming from the API Params:
data
-
Hash
of data coming from the API
# File lib/processout/webhook.rb, line 160 def fill_with_data(data) if data.nil? return self end if data.include? "id" self.id = data["id"] end if data.include? "project" self.project = data["project"] end if data.include? "project_id" self.project_id = data["project_id"] end if data.include? "event" self.event = data["event"] end if data.include? "event_id" self.event_id = data["event_id"] end if data.include? "request_url" self.request_url = data["request_url"] end if data.include? "request_method" self.request_method = data["request_method"] end if data.include? "response_body" self.response_body = data["response_body"] end if data.include? "response_code" self.response_code = data["response_code"] end if data.include? "response_headers" self.response_headers = data["response_headers"] end if data.include? "response_time_ms" self.response_time_ms = data["response_time_ms"] end if data.include? "status" self.status = data["status"] end if data.include? "created_at" self.created_at = data["created_at"] end if data.include? "release_at" self.release_at = data["release_at"] end self end
id=(val)
click to toggle source
# File lib/processout/webhook.rb, line 27 def id=(val) @id = val end
new(data = {})
click to toggle source
Create a new Webhook
using the current client
# File lib/processout/webhook.rb, line 133 def new(data = {}) Webhook.new(@client, data) end
prefill(data)
click to toggle source
Prefills the object with the data passed as parameters Params:
data
-
Hash
of data
# File lib/processout/webhook.rb, line 213 def prefill(data) if data.nil? return self end self.id = data.fetch(:id, self.id) self.project = data.fetch(:project, self.project) self.project_id = data.fetch(:project_id, self.project_id) self.event = data.fetch(:event, self.event) self.event_id = data.fetch(:event_id, self.event_id) self.request_url = data.fetch(:request_url, self.request_url) self.request_method = data.fetch(:request_method, self.request_method) self.response_body = data.fetch(:response_body, self.response_body) self.response_code = data.fetch(:response_code, self.response_code) self.response_headers = data.fetch(:response_headers, self.response_headers) self.response_time_ms = data.fetch(:response_time_ms, self.response_time_ms) self.status = data.fetch(:status, self.status) self.created_at = data.fetch(:created_at, self.created_at) self.release_at = data.fetch(:release_at, self.release_at) self end
project=(val)
click to toggle source
# File lib/processout/webhook.rb, line 31 def project=(val) if val.nil? @project = val return end if val.instance_of? Project @project = val else obj = Project.new(@client) obj.fill_with_data(val) @project = obj end end
project_id=(val)
click to toggle source
# File lib/processout/webhook.rb, line 47 def project_id=(val) @project_id = val end
release_at=(val)
click to toggle source
# File lib/processout/webhook.rb, line 103 def release_at=(val) @release_at = val end
request_method=(val)
click to toggle source
# File lib/processout/webhook.rb, line 75 def request_method=(val) @request_method = val end
request_url=(val)
click to toggle source
# File lib/processout/webhook.rb, line 71 def request_url=(val) @request_url = val end
response_body=(val)
click to toggle source
# File lib/processout/webhook.rb, line 79 def response_body=(val) @response_body = val end
response_code=(val)
click to toggle source
# File lib/processout/webhook.rb, line 83 def response_code=(val) @response_code = val end
response_headers=(val)
click to toggle source
# File lib/processout/webhook.rb, line 87 def response_headers=(val) @response_headers = val end
response_time_ms=(val)
click to toggle source
# File lib/processout/webhook.rb, line 91 def response_time_ms=(val) @response_time_ms = val end
status=(val)
click to toggle source
# File lib/processout/webhook.rb, line 95 def status=(val) @status = val end
to_json(options)
click to toggle source
Overrides the JSON marshaller to only send the fields we want
# File lib/processout/webhook.rb, line 138 def to_json(options) { "id": self.id, "project": self.project, "project_id": self.project_id, "event": self.event, "event_id": self.event_id, "request_url": self.request_url, "request_method": self.request_method, "response_body": self.response_body, "response_code": self.response_code, "response_headers": self.response_headers, "response_time_ms": self.response_time_ms, "status": self.status, "created_at": self.created_at, "release_at": self.release_at, }.to_json end