Module: Pago::V2026_04::Unions::ProductPrice
- Defined in:
- lib/pago/v2026_04/unions.rb,
sig/pago/v2026_04/generated.rbs
Overview
Variants: Models::ProductPriceFixed, Models::ProductPriceCustom, Models::ProductPriceSeatBased, Models::ProductPriceMeteredUnit.
Constant Summary collapse
- DISCRIMINATOR =
"amount_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.
655 656 657 658 |
# File 'lib/pago/v2026_04/unions.rb', line 655 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.
639 640 641 642 643 644 645 646 |
# File 'lib/pago/v2026_04/unions.rb', line 639 def self.mapping @mapping ||= { "custom" => Models::ProductPriceCustom, "fixed" => Models::ProductPriceFixed, "metered_unit" => Models::ProductPriceMeteredUnit, "seat_based" => Models::ProductPriceSeatBased }.freeze end |
.variants ⇒ Array<Class>
Returns every model this union can resolve to.
649 650 651 |
# File 'lib/pago/v2026_04/unions.rb', line 649 def self.variants @variants ||= [Models::ProductPriceFixed, Models::ProductPriceCustom, Models::ProductPriceSeatBased, Models::ProductPriceMeteredUnit].freeze end |