class WebhookSystem::EventLog
This is the model holding on to all webhook responses
Constants
- MAX_JSON_ATTRIBUTE_SIZE
Public Class Methods
construct(subscription, event, request, response)
click to toggle source
# File lib/webhook_system/event_log.rb, line 21 def self.construct(subscription, event, request, response) request_info = { 'event' => event, 'headers' => request.headers.to_hash, 'body' => request.body.truncate(MAX_JSON_ATTRIBUTE_SIZE), 'url' => request.path, } response_info = { 'headers' => response.headers.to_hash, 'body' => response.body.truncate(MAX_JSON_ATTRIBUTE_SIZE), } attributes = { event_name: event['event_name'], event_id: event['event_id'], status: response.status, request: request_info, response: response_info, } subscription.event_logs.build(attributes) end