Module: TalonOne::PromotionBlock

Defined in:
lib/talon_one_sdk/models/promotion_block.rb

Overview

Describes a part of the logic of the rule.

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



84
85
86
87
88
89
90
91
92
# File 'lib/talon_one_sdk/models/promotion_block.rb', line 84

def build(data)
  discriminator_value = data[openapi_discriminator_name]
  return nil if discriminator_value.nil?

  klass = openapi_discriminator_mapping[discriminator_value.to_s.to_sym]
  return nil unless klass

  TalonOne.const_get(klass).build_from_hash(data)
end

.openapi_discriminator_mappingObject

Discriminator's mapping (OpenAPI v3)



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
# File 'lib/talon_one_sdk/models/promotion_block.rb', line 54

def openapi_discriminator_mapping
  {
    :'awardDiscount' => :'AwardDiscountBlock',
    :'awardGiveaway' => :'AwardGiveawayBlock',
    :'awardItem' => :'AwardItemBlock',
    :'checkAchievement' => :'CheckAchievementBlock',
    :'checkAttribute' => :'PromotionCheckAttributeBlock',
    :'checkAudience' => :'CheckAudienceBlock',
    :'checkBudget' => :'CheckBudgetBlock',
    :'checkCoupon' => :'CheckCouponBlock',
    :'checkEvent' => :'CheckEventBlock',
    :'checkLoyaltyBalance' => :'CheckLoyaltyBalanceBlock',
    :'checkReferral' => :'CheckReferralBlock',
    :'createCoupon' => :'CreateCouponBlock',
    :'createReferral' => :'CreateReferralBlock',
    :'group' => :'PromotionGroupBlock',
    :'passthrough' => :'PassthroughBlock',
    :'reserveCoupon' => :'ReserveCouponBlock',
    :'showNotification' => :'ShowNotificationBlock',
    :'triggerCustomEffect' => :'TriggerCustomEffectBlock',
    :'triggerWebhook' => :'TriggerWebhookBlock',
    :'updateAchievementProgress' => :'UpdateAchievementProgressBlock',
    :'updateAttributeValue' => :'UpdateAttributeValueBlock',
    :'updateAudienceMembership' => :'UpdateAudienceMembershipBlock'
  }
end

.openapi_discriminator_nameObject

Discriminator's property name (OpenAPI v3)



49
50
51
# File 'lib/talon_one_sdk/models/promotion_block.rb', line 49

def openapi_discriminator_name
  :'type'
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
# File 'lib/talon_one_sdk/models/promotion_block.rb', line 21

def openapi_one_of
  [
    :'AwardDiscountBlock',
    :'AwardGiveawayBlock',
    :'AwardItemBlock',
    :'CheckAchievementBlock',
    :'CheckAudienceBlock',
    :'CheckBudgetBlock',
    :'CheckCouponBlock',
    :'CheckEventBlock',
    :'CheckLoyaltyBalanceBlock',
    :'CheckReferralBlock',
    :'CreateCouponBlock',
    :'CreateReferralBlock',
    :'PassthroughBlock',
    :'PromotionCheckAttributeBlock',
    :'PromotionGroupBlock',
    :'ReserveCouponBlock',
    :'ShowNotificationBlock',
    :'TriggerCustomEffectBlock',
    :'TriggerWebhookBlock',
    :'UpdateAchievementProgressBlock',
    :'UpdateAttributeValueBlock',
    :'UpdateAudienceMembershipBlock'
  ]
end