Class: MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/metronome_sdk/models/contract_without_amendments.rb,
sig/metronome_sdk/models/contract_without_amendments.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:



1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
# File 'lib/metronome_sdk/models/contract_without_amendments.rb', line 1256

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

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

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

  # @!method initialize(sources:, spend_type:, discounted: nil)
  #   @param sources [Array<Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::Source>]
  #   @param spend_type [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::SpendTracker::ApplicableSpendSpecifier::SpendType]
  #   @param discounted [Symbol, MetronomeSDK::Models::ContractWithoutAmendments::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::ContractWithoutAmendments::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::ContractWithoutAmendments::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, ...



1272
1273
# File 'lib/metronome_sdk/models/contract_without_amendments.rb', line 1272

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

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

Parameters:

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

Returns:



1260
1261
# File 'lib/metronome_sdk/models/contract_without_amendments.rb', line 1260

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

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

Parameters:

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

Returns:



1266
1267
# File 'lib/metronome_sdk/models/contract_without_amendments.rb', line 1266

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

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/metronome_sdk/models/contract_without_amendments.rb', line 1286

Instance Method Details

#to_hash{

Returns:

  • ({)


1205
# File 'sig/metronome_sdk/models/contract_without_amendments.rbs', line 1205

def to_hash: -> {