Module: VoucherifySdk::CustomerActivityData

Defined in:
lib/VoucherifySdk/models/customer_activity_data.rb

Overview

Event data object schema.

Class Method Summary collapse

Class Method Details

.build(data) ⇒ Object

Builds the object

Parameters:

  • Data (Mixed)

    to be matched against the list of oneOf items

Returns:

  • (Object)

    Returns the model or the data itself



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/VoucherifySdk/models/customer_activity_data.rb', line 98

def build(data)
  # Go through the list of oneOf items and attempt to identify the appropriate one.
  # Note:
  # - We do not attempt to check whether exactly one item matches.
  # - No advanced validation of types in some cases (e.g. "x: { type: string }" will happily match { x: 123 })
  #   due to the way the deserialization is made in the base_object template (it just casts without verifying).
  # - TODO: scalar values are de facto behaving as if they were nullable.
  # - TODO: logging when debugging is set.
  openapi_one_of.each do |klass|
    begin
      next if klass == :AnyType # "nullable: true"
      typed_data = find_and_cast_into_type(klass, data)
      return typed_data if typed_data
    rescue # rescue all errors so we keep iterating even if the current item lookup raises
    end
  end

  openapi_one_of.include?(:AnyType) ? data : nil
end

.openapi_one_ofObject

List of class defined in oneOf (OpenAPI v3)



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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/VoucherifySdk/models/customer_activity_data.rb', line 21

def openapi_one_of
  [
    :'EventCustomerActiveCampaignFailed',
    :'EventCustomerActiveCampaignRecovered',
    :'EventCustomerActiveCampaignSent',
    :'EventCustomerBatchFailed',
    :'EventCustomerBatchRecovered',
    :'EventCustomerBatchSent',
    :'EventCustomerBrazeFailed',
    :'EventCustomerBrazeRecovered',
    :'EventCustomerBrazeSent',
    :'EventCustomerConfirmed',
    :'EventCustomerConsentsGiven',
    :'EventCustomerConsentsRevoked',
    :'EventCustomerCreated',
    :'EventCustomerCustomEvent',
    :'EventCustomerDeleted',
    :'EventCustomerEmailFailed',
    :'EventCustomerEmailRecovered',
    :'EventCustomerEmailSent',
    :'EventCustomerGiftVoucherBalanceAdded',
    :'EventCustomerIntercomFailed',
    :'EventCustomerIntercomRecovered',
    :'EventCustomerIntercomSent',
    :'EventCustomerKlaviyoFailed',
    :'EventCustomerKlaviyoRecovered',
    :'EventCustomerKlaviyoSent',
    :'EventCustomerLoyaltyCardPointsAdded',
    :'EventCustomerLoyaltyCardPointsTransferred',
    :'EventCustomerLoyaltyTierDowngraded',
    :'EventCustomerLoyaltyTierExpirationChanged',
    :'EventCustomerLoyaltyTierJoined',
    :'EventCustomerLoyaltyTierLeft',
    :'EventCustomerLoyaltyTierProlonged',
    :'EventCustomerLoyaltyTierUpgraded',
    :'EventCustomerLoyaltyUpdated',
    :'EventCustomerMailchimpFailed',
    :'EventCustomerMailchimpRecovered',
    :'EventCustomerMailchimpSent',
    :'EventCustomerOrderCanceled',
    :'EventCustomerOrderCreated',
    :'EventCustomerOrderFulfilled',
    :'EventCustomerOrderPaid',
    :'EventCustomerOrderProcessing',
    :'EventCustomerOrderUpdated',
    :'EventCustomerPublicationFailed',
    :'EventCustomerPublicationSucceeded',
    :'EventCustomerRedemptionFailed',
    :'EventCustomerRedemptionRollbackFailed',
    :'EventCustomerRedemptionRollbackSucceeded',
    :'EventCustomerRedemptionSucceeded',
    :'EventCustomerReferred',
    :'EventCustomerRewardRedemptionsCompleted',
    :'EventCustomerRewardRedemptionsCreated',
    :'EventCustomerRewardRedemptionsPending',
    :'EventCustomerRewardRedemptionsRolledBack',
    :'EventCustomerRewarded',
    :'EventCustomerRewardedLoyaltyPoints',
    :'EventCustomerSegmentEntered',
    :'EventCustomerSegmentLeft',
    :'EventCustomerShopifyFailed',
    :'EventCustomerShopifyRecovered',
    :'EventCustomerShopifySent',
    :'EventCustomerSmsFailed',
    :'EventCustomerSmsRecovered',
    :'EventCustomerSmsSent',
    :'EventCustomerUpdated',
    :'EventCustomerValidationFailed',
    :'EventCustomerValidationSucceeded',
    :'EventCustomerVoucherDeleted',
    :'EventCustomerVouchersLoyaltyPointsExpired'
  ]
end