Module: Pago::V2026_04::Unions::CustomerBenefitGrantUpdate

Defined in:
lib/pago/v2026_04/unions.rb,
sig/pago/v2026_04/generated.rbs

Overview

Variants: Models::CustomerBenefitGrantDiscordUpdate, Models::CustomerBenefitGrantGitHubRepositoryUpdate, Models::CustomerBenefitGrantDownloadablesUpdate, Models::CustomerBenefitGrantLicenseKeysUpdate, Models::CustomerBenefitGrantCustomUpdate, Models::CustomerBenefitGrantMeterCreditUpdate, Models::CustomerBenefitGrantFeatureFlagUpdate, Models::CustomerBenefitGrantSlackSharedChannelUpdate.

Constant Summary collapse

DISCRIMINATOR =

Returns:

  • (String, nil)
"benefit_type"

Class Method Summary collapse

Class Method Details

.from_json(data) ⇒ Object?

Returns the resolved variant, or the raw payload.

Parameters:

  • data (Hash, String, nil)

Returns:

  • (Object, nil)

    the resolved variant, or the raw payload.



289
290
291
292
# File 'lib/pago/v2026_04/unions.rb', line 289

def self.from_json(data)
  data = ::JSON.parse(data) if data.is_a?(String)
  ::Pago::Serde.union(data, discriminator: DISCRIMINATOR, mapping: mapping, variants: variants)
end

.mappingHash{String => Class}

Returns discriminator value to model class.

Returns:

  • (Hash{String => Class})

    discriminator value to model class.



269
270
271
272
273
274
275
276
277
278
279
280
# File 'lib/pago/v2026_04/unions.rb', line 269

def self.mapping
  @mapping ||= {
    "custom" => Models::CustomerBenefitGrantCustomUpdate,
    "discord" => Models::CustomerBenefitGrantDiscordUpdate,
    "downloadables" => Models::CustomerBenefitGrantDownloadablesUpdate,
    "feature_flag" => Models::CustomerBenefitGrantFeatureFlagUpdate,
    "github_repository" => Models::CustomerBenefitGrantGitHubRepositoryUpdate,
    "license_keys" => Models::CustomerBenefitGrantLicenseKeysUpdate,
    "meter_credit" => Models::CustomerBenefitGrantMeterCreditUpdate,
    "slack_shared_channel" => Models::CustomerBenefitGrantSlackSharedChannelUpdate
  }.freeze
end

.variantsArray<Class>

Returns every model this union can resolve to.

Returns:

  • (Array<Class>)

    every model this union can resolve to.



283
284
285
# File 'lib/pago/v2026_04/unions.rb', line 283

def self.variants
  @variants ||= [Models::CustomerBenefitGrantDiscordUpdate, Models::CustomerBenefitGrantGitHubRepositoryUpdate, Models::CustomerBenefitGrantDownloadablesUpdate, Models::CustomerBenefitGrantLicenseKeysUpdate, Models::CustomerBenefitGrantCustomUpdate, Models::CustomerBenefitGrantMeterCreditUpdate, Models::CustomerBenefitGrantFeatureFlagUpdate, Models::CustomerBenefitGrantSlackSharedChannelUpdate].freeze
end