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:



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
1312
1313
1314
# File 'lib/metronome_sdk/models/contract_without_amendments.rb', line 1259

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



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

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:



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

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:



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

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 1289

Instance Method Details

#to_hash{

Returns:

  • ({)


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

def to_hash: -> {