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:



3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
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
# File 'lib/metronome_sdk/models/contract_v2.rb', line 3922

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, ...



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

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:



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

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:



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

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 3952

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {