blob: 53d5759ef8b50060dfc109d7e8a3cf3a21ef1d72 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# frozen_string_literal: true
require_relative './event_payload'
require 'time'
module QA
module Vendor
module Smocker
class HistoryResponse
attr_reader :payload
def initialize(payload)
@payload = payload
end
# Smocker context including call counter
def context
payload[:context]
end
# Smocker request data
def request
payload[:request]
end
# @return [EventPayload] the request body as a webhook event
def as_hook_event
body = request&.dig(:body)
EventPayload.new body if body
end
# @return [Time] Time request was recieved
def received
date = request&.dig(:date)
Time.parse date if date
end
# Find time elapsed since <target>
#
# @param target [Time] target time
# @return [Integer] seconds elapsed since <target>
def elapsed(target)
(received.to_f - target.to_f).round if received
end
def response
payload[:response]
end
end
end
end
end
|