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