Module: PatchRetention::Events::Create

Extended by:
Create
Includes:
Util
Included in:
Create
Defined in:
lib/patch_retention/events/create.rb

Instance Method Summary collapse

Methods included from Util

#parse_error_message, #raise_error_if_present

Instance Method Details

#call(event_type:, primary_key_details:, data:, at:, contact_details:, config: nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/patch_retention/events/create.rb', line 7

def call(event_type:, primary_key_details:, data:, at:, contact_details:, config: nil)
  contact_upsert = contact_details[:upsert] || false

  params = {
    event: event_type,
    primary_key: primary_key_details[:key],
    primary_key_value: primary_key_details[:value],
    data: data,
    contact_upsert: contact_upsert,
  }.compact

  params.merge!(at: format_datetime(at)) unless at.nil?
  params.merge!(contact: contact_details[:params]) if contact_upsert && contact_details.key?(:params)

  send_request(params, config)
end