Module: Pago::V2026_04::Unions::BenefitCreate
- Defined in:
- lib/pago/v2026_04/unions.rb,
sig/pago/v2026_04/generated.rbs
Overview
Variants: Models::BenefitCustomCreate, Models::BenefitDiscordCreate, Models::BenefitGitHubRepositoryCreate, Models::BenefitDownloadablesCreate, Models::BenefitLicenseKeysCreate, Models::BenefitMeterCreditCreate, Models::BenefitFeatureFlagCreate, Models::BenefitSlackSharedChannelCreate.
Constant Summary collapse
- DISCRIMINATOR =
"type"
Class Method Summary collapse
-
.from_json(data) ⇒ Object?
The resolved variant, or the raw payload.
-
.mapping ⇒ Hash{String => Class}
Discriminator value to model class.
-
.variants ⇒ Array<Class>
Every model this union can resolve to.
Class Method Details
.from_json(data) ⇒ Object?
Returns the resolved variant, or the raw payload.
69 70 71 72 |
# File 'lib/pago/v2026_04/unions.rb', line 69 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 |
.mapping ⇒ Hash{String => Class}
Returns discriminator value to model class.
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/pago/v2026_04/unions.rb', line 49 def self.mapping @mapping ||= { "custom" => Models::BenefitCustomCreate, "discord" => Models::BenefitDiscordCreate, "downloadables" => Models::BenefitDownloadablesCreate, "feature_flag" => Models::BenefitFeatureFlagCreate, "github_repository" => Models::BenefitGitHubRepositoryCreate, "license_keys" => Models::BenefitLicenseKeysCreate, "meter_credit" => Models::BenefitMeterCreditCreate, "slack_shared_channel" => Models::BenefitSlackSharedChannelCreate }.freeze end |
.variants ⇒ Array<Class>
Returns every model this union can resolve to.
63 64 65 |
# File 'lib/pago/v2026_04/unions.rb', line 63 def self.variants @variants ||= [Models::BenefitCustomCreate, Models::BenefitDiscordCreate, Models::BenefitGitHubRepositoryCreate, Models::BenefitDownloadablesCreate, Models::BenefitLicenseKeysCreate, Models::BenefitMeterCreditCreate, Models::BenefitFeatureFlagCreate, Models::BenefitSlackSharedChannelCreate].freeze end |