Class: MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/metronome_sdk/models/contract_v2.rb,
sig/metronome_sdk/models/contract_v2.rbs

Defined Under Namespace

Modules: Discounted, Source, SpendType

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(alias_:, applicable_spend_specifiers:, credit_type_id:, reset_frequency:, accumulated_spend: nil) ⇒ Object

Parameters:



3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3939

class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
  # @!attribute sources
  #
  #   @return [Array<Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source>]
  required :sources,
           -> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source] }

  # @!attribute spend_type
  #
  #   @return [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType]
  required :spend_type,
           enum: -> { MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType }

  # @!attribute discounted
  #
  #   @return [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted, nil]
  optional :discounted,
           enum: -> { MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted }

  # @!method initialize(sources:, spend_type:, discounted: nil)
  #   @param sources [Array<Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source>]
  #   @param spend_type [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType]
  #   @param discounted [Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted]

  module Source
    extend MetronomeSDK::Internal::Type::Enum

    THRESHOLD_RECHARGE = :THRESHOLD_RECHARGE
    MANUAL = :MANUAL

    # @!method self.values
    #   @return [Array<Symbol>]
  end

  # @see MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier#spend_type
  module SpendType
    extend MetronomeSDK::Internal::Type::Enum

    COMMIT_PURCHASE = :COMMIT_PURCHASE

    # @!method self.values
    #   @return [Array<Symbol>]
  end

  # @see MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier#discounted
  module Discounted
    extend MetronomeSDK::Internal::Type::Enum

    ANY = :ANY
    DISCOUNTED_ONLY = :DISCOUNTED_ONLY
    UNDISCOUNTED_ONLY = :UNDISCOUNTED_ONLY

    # @!method self.values
    #   @return [Array<Symbol>]
  end
end

Instance Attribute Details

#discountedSymbol, ...



3955
3956
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3955

optional :discounted,
enum: -> { MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Discounted }

#sourcesArray<Symbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source>

Parameters:

  • value (::Array[MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::source])

Returns:



3943
3944
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3943

required :sources,
-> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::Source] }

#spend_typeSymbol, MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType

Parameters:

  • value (MetronomeSDK::Models::ContractV2::SpendTracker::ApplicableSpendSpecifier::spend_type)

Returns:



3949
3950
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3949

required :spend_type,
enum: -> { MetronomeSDK::ContractV2::SpendTracker::ApplicableSpendSpecifier::SpendType }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/contract_v2.rb', line 3969

Instance Method Details

#to_hash{

Returns:

  • ({)


3792
# File 'sig/metronome_sdk/models/contract_v2.rbs', line 3792

def to_hash: -> {