Module: Pago::V2026_04::Unions::DiscountCreate
- Defined in:
- lib/pago/v2026_04/unions.rb,
sig/pago/v2026_04/generated.rbs
Overview
Variants: Models::DiscountFixedCreate, Models::DiscountPercentageCreate.
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.
444 445 446 447 |
# File 'lib/pago/v2026_04/unions.rb', line 444 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.
430 431 432 433 434 435 |
# File 'lib/pago/v2026_04/unions.rb', line 430 def self.mapping @mapping ||= { "fixed" => Models::DiscountFixedCreate, "percentage" => Models::DiscountPercentageCreate }.freeze end |
.variants ⇒ Array<Class>
Returns every model this union can resolve to.
438 439 440 |
# File 'lib/pago/v2026_04/unions.rb', line 438 def self.variants @variants ||= [Models::DiscountFixedCreate, Models::DiscountPercentageCreate].freeze end |