Class: ShellCardManagementApIs::CardTypeResponseCustomerCardTypesItems

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb

Overview

CardTypeResponseCustomerCardTypesItems Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(card_type_id = SKIP, token_type_id = SKIP, card_type_name = SKIP, token_type_name = SKIP, pan_length = SKIP, expiry_period = SKIP, is_national = SKIP, is_international = SKIP, is_crt = SKIP, is_fleet = SKIP, is_shell_sites_only = SKIP, is_partner_sites_included = SKIP, can_have_pin = SKIP, is_virtual = SKIP, is_active = SKIP, is_card_available_for_download = SKIP, col_co_currency_code = SKIP, col_co_currency_symbol = SKIP, emv_contactless = SKIP, rfid = SKIP, pin_change_supported = SKIP, require_pin = SKIP, offline_pin = SKIP, medium_type_id = SKIP, medium_type = SKIP, cart_type_accounts = SKIP, purchase_categories = SKIP) ⇒ CardTypeResponseCustomerCardTypesItems

Returns a new instance of CardTypeResponseCustomerCardTypesItems.



205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 205

def initialize(card_type_id = SKIP, token_type_id = SKIP,
               card_type_name = SKIP, token_type_name = SKIP,
               pan_length = SKIP, expiry_period = SKIP, is_national = SKIP,
               is_international = SKIP, is_crt = SKIP, is_fleet = SKIP,
               is_shell_sites_only = SKIP, is_partner_sites_included = SKIP,
               can_have_pin = SKIP, is_virtual = SKIP, is_active = SKIP,
               is_card_available_for_download = SKIP,
               col_co_currency_code = SKIP, col_co_currency_symbol = SKIP,
               emv_contactless = SKIP, rfid = SKIP,
               pin_change_supported = SKIP, require_pin = SKIP,
               offline_pin = SKIP, medium_type_id = SKIP,
               medium_type = SKIP, cart_type_accounts = SKIP,
               purchase_categories = SKIP)
  @card_type_id = card_type_id unless card_type_id == SKIP
  @token_type_id = token_type_id unless token_type_id == SKIP
  @card_type_name = card_type_name unless card_type_name == SKIP
  @token_type_name = token_type_name unless token_type_name == SKIP
  @pan_length = pan_length unless pan_length == SKIP
  @expiry_period = expiry_period unless expiry_period == SKIP
  @is_national = is_national unless is_national == SKIP
  @is_international = is_international unless is_international == SKIP
  @is_crt = is_crt unless is_crt == SKIP
  @is_fleet = is_fleet unless is_fleet == SKIP
  @is_shell_sites_only = is_shell_sites_only unless is_shell_sites_only == SKIP
  unless is_partner_sites_included == SKIP
    @is_partner_sites_included =
      is_partner_sites_included
  end
  @can_have_pin = can_have_pin unless can_have_pin == SKIP
  @is_virtual = is_virtual unless is_virtual == SKIP
  @is_active = is_active unless is_active == SKIP
  unless is_card_available_for_download == SKIP
    @is_card_available_for_download =
      is_card_available_for_download
  end
  @col_co_currency_code = col_co_currency_code unless col_co_currency_code == SKIP
  @col_co_currency_symbol = col_co_currency_symbol unless col_co_currency_symbol == SKIP
  @emv_contactless = emv_contactless unless emv_contactless == SKIP
  @rfid = rfid unless rfid == SKIP
  @pin_change_supported = pin_change_supported unless pin_change_supported == SKIP
  @require_pin = require_pin unless require_pin == SKIP
  @offline_pin = offline_pin unless offline_pin == SKIP
  @medium_type_id = medium_type_id unless medium_type_id == SKIP
  @medium_type = medium_type unless medium_type == SKIP
  @cart_type_accounts = cart_type_accounts unless cart_type_accounts == SKIP
  @purchase_categories = purchase_categories unless purchase_categories == SKIP
end

Instance Attribute Details

#can_have_pinTrueClass | FalseClass

True/False – Whether the cards of this card type can have PIN.

Returns:

  • (TrueClass | FalseClass)


62
63
64
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 62

def can_have_pin
  @can_have_pin
end

#card_type_idInteger

Card Type Id in Cards Platform.

Returns:

  • (Integer)


14
15
16
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 14

def card_type_id
  @card_type_id
end

#card_type_nameString

Card Type Name.

Returns:

  • (String)


22
23
24
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 22

def card_type_name
  @card_type_name
end

#cart_type_accountsArray[CartTypeAccount]

List of accounts.

Returns:



120
121
122
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 120

def cart_type_accounts
  @cart_type_accounts
end

#col_co_currency_codeString

ISO currency code of the country.

Returns:

  • (String)


78
79
80
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 78

def col_co_currency_code
  @col_co_currency_code
end

#col_co_currency_symbolString

Currency symbol of the country.

Returns:

  • (String)


82
83
84
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 82

def col_co_currency_symbol
  @col_co_currency_symbol
end

#emv_contactlessTrueClass | FalseClass

Is Europay, MasterCard, and Visa Contactless enabled or not.

Returns:

  • (TrueClass | FalseClass)


86
87
88
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 86

def emv_contactless
  @emv_contactless
end

#expiry_periodInteger

Default Expiry period.

Returns:

  • (Integer)


34
35
36
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 34

def expiry_period
  @expiry_period
end

#is_activeTrueClass | FalseClass

Whether card type is active or not.

Returns:

  • (TrueClass | FalseClass)


70
71
72
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 70

def is_active
  @is_active
end

#is_card_available_for_downloadTrueClass | FalseClass

Whether card type is available for download.

Returns:

  • (TrueClass | FalseClass)


74
75
76
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 74

def is_card_available_for_download
  @is_card_available_for_download
end

#is_crtTrueClass | FalseClass

True/False – Wether it is a CRT Card type or not.

Returns:

  • (TrueClass | FalseClass)


46
47
48
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 46

def is_crt
  @is_crt
end

#is_fleetTrueClass | FalseClass

True/False – Whether it is it a Fleet Card typeor not.

Returns:

  • (TrueClass | FalseClass)


50
51
52
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 50

def is_fleet
  @is_fleet
end

#is_internationalTrueClass | FalseClass

True/False – Whether it is an International Card type or not.

Returns:

  • (TrueClass | FalseClass)


42
43
44
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 42

def is_international
  @is_international
end

#is_nationalTrueClass | FalseClass

True/False – Whether it is a National Card type or not.

Returns:

  • (TrueClass | FalseClass)


38
39
40
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 38

def is_national
  @is_national
end

#is_partner_sites_includedTrueClass | FalseClass

True/False – Whether this card type is allowed in partner Stations.

Returns:

  • (TrueClass | FalseClass)


58
59
60
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 58

def is_partner_sites_included
  @is_partner_sites_included
end

#is_shell_sites_onlyTrueClass | FalseClass

True/False – Whether it is only allowed in Shell Stations or not.

Returns:

  • (TrueClass | FalseClass)


54
55
56
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 54

def is_shell_sites_only
  @is_shell_sites_only
end

#is_virtualTrueClass | FalseClass

True/False - Whether it is a Virtual Card type or not.

Returns:

  • (TrueClass | FalseClass)


66
67
68
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 66

def is_virtual
  @is_virtual
end

#medium_typeString

Name of the medium type identifier.
Full list below -
1 - Fuel Card
2 - Fuel Card with EV
3 - EV only
4 - Fuel Card and Key Fob
5 - Key Fob
6 - Virtual Card
7 - NPII Token
8 – Smartpay Token

Returns:

  • (String)


116
117
118
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 116

def medium_type
  @medium_type
end

#medium_type_idInteger

Id of the medium type identifier.
Full list below -
1 - Fuel Card
2 - Fuel Card with EV
3 - EV only
4 - Fuel Card and Key Fob
5 - Key Fob
6 - Virtual Card
7 - NPII Token
8 – Smartpay Token

Returns:

  • (Integer)


109
110
111
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 109

def medium_type_id
  @medium_type_id
end

#offline_pinTrueClass | FalseClass

Whether offline PIN is enabled or not.

Returns:

  • (TrueClass | FalseClass)


102
103
104
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 102

def offline_pin
  @offline_pin
end

#pan_lengthInteger

PAN Length.

Returns:

  • (Integer)


30
31
32
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 30

def pan_length
  @pan_length
end

#pin_change_supportedTrueClass | FalseClass

PIN change supported or not.

Returns:

  • (TrueClass | FalseClass)


94
95
96
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 94

def pin_change_supported
  @pin_change_supported
end

#purchase_categoriesArray[PurchaseCategories]

List of accounts.

Returns:



124
125
126
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 124

def purchase_categories
  @purchase_categories
end

#require_pinTrueClass | FalseClass

Whether a PIN is mandatory for the cards of this card type.

Returns:

  • (TrueClass | FalseClass)


98
99
100
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 98

def require_pin
  @require_pin
end

#rfidTrueClass | FalseClass

Whether the card type is enabled for RFID (Radio Frequency Identification)

Returns:

  • (TrueClass | FalseClass)


90
91
92
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 90

def rfid
  @rfid
end

#token_type_idInteger

Token type identifier.

Returns:

  • (Integer)


18
19
20
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 18

def token_type_id
  @token_type_id
end

#token_type_nameString

Token Type Name.

Returns:

  • (String)


26
27
28
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 26

def token_type_name
  @token_type_name
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 254

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  card_type_id = hash.key?('CardTypeId') ? hash['CardTypeId'] : SKIP
  token_type_id = hash.key?('TokenTypeId') ? hash['TokenTypeId'] : SKIP
  card_type_name = hash.key?('CardTypeName') ? hash['CardTypeName'] : SKIP
  token_type_name =
    hash.key?('TokenTypeName') ? hash['TokenTypeName'] : SKIP
  pan_length = hash.key?('PANLength') ? hash['PANLength'] : SKIP
  expiry_period = hash.key?('ExpiryPeriod') ? hash['ExpiryPeriod'] : SKIP
  is_national = hash.key?('IsNational') ? hash['IsNational'] : SKIP
  is_international =
    hash.key?('IsInternational') ? hash['IsInternational'] : SKIP
  is_crt = hash.key?('IsCRT') ? hash['IsCRT'] : SKIP
  is_fleet = hash.key?('IsFleet') ? hash['IsFleet'] : SKIP
  is_shell_sites_only =
    hash.key?('IsShellSitesOnly') ? hash['IsShellSitesOnly'] : SKIP
  is_partner_sites_included =
    hash.key?('IsPartnerSitesIncluded') ? hash['IsPartnerSitesIncluded'] : SKIP
  can_have_pin = hash.key?('CanHavePIN') ? hash['CanHavePIN'] : SKIP
  is_virtual = hash.key?('IsVirtual') ? hash['IsVirtual'] : SKIP
  is_active = hash.key?('IsActive') ? hash['IsActive'] : SKIP
  is_card_available_for_download =
    hash.key?('IsCardAvailableForDownload') ? hash['IsCardAvailableForDownload'] : SKIP
  col_co_currency_code =
    hash.key?('ColCoCurrencyCode') ? hash['ColCoCurrencyCode'] : SKIP
  col_co_currency_symbol =
    hash.key?('ColCoCurrencySymbol') ? hash['ColCoCurrencySymbol'] : SKIP
  emv_contactless =
    hash.key?('EMVContactless') ? hash['EMVContactless'] : SKIP
  rfid = hash.key?('RFID') ? hash['RFID'] : SKIP
  pin_change_supported =
    hash.key?('PINChangeSupported') ? hash['PINChangeSupported'] : SKIP
  require_pin = hash.key?('RequirePIN') ? hash['RequirePIN'] : SKIP
  offline_pin = hash.key?('OfflinePIN') ? hash['OfflinePIN'] : SKIP
  medium_type_id = hash.key?('MediumTypeID') ? hash['MediumTypeID'] : SKIP
  medium_type = hash.key?('MediumType') ? hash['MediumType'] : SKIP
  # Parameter is an array, so we need to iterate through it
  cart_type_accounts = nil
  unless hash['CartTypeAccounts'].nil?
    cart_type_accounts = []
    hash['CartTypeAccounts'].each do |structure|
      cart_type_accounts << (CartTypeAccount.from_hash(structure) if structure)
    end
  end

  cart_type_accounts = SKIP unless hash.key?('CartTypeAccounts')
  # Parameter is an array, so we need to iterate through it
  purchase_categories = nil
  unless hash['PurchaseCategories'].nil?
    purchase_categories = []
    hash['PurchaseCategories'].each do |structure|
      purchase_categories << (PurchaseCategories.from_hash(structure) if structure)
    end
  end

  purchase_categories = SKIP unless hash.key?('PurchaseCategories')

  # Create object from extracted values.
  CardTypeResponseCustomerCardTypesItems.new(card_type_id,
                                             token_type_id,
                                             card_type_name,
                                             token_type_name,
                                             pan_length,
                                             expiry_period,
                                             is_national,
                                             is_international,
                                             is_crt,
                                             is_fleet,
                                             is_shell_sites_only,
                                             is_partner_sites_included,
                                             can_have_pin,
                                             is_virtual,
                                             is_active,
                                             is_card_available_for_download,
                                             col_co_currency_code,
                                             col_co_currency_symbol,
                                             emv_contactless,
                                             rfid,
                                             pin_change_supported,
                                             require_pin,
                                             offline_pin,
                                             medium_type_id,
                                             medium_type,
                                             cart_type_accounts,
                                             purchase_categories)
end

.namesObject

A mapping from model property names to API property names.



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 127

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['card_type_id'] = 'CardTypeId'
  @_hash['token_type_id'] = 'TokenTypeId'
  @_hash['card_type_name'] = 'CardTypeName'
  @_hash['token_type_name'] = 'TokenTypeName'
  @_hash['pan_length'] = 'PANLength'
  @_hash['expiry_period'] = 'ExpiryPeriod'
  @_hash['is_national'] = 'IsNational'
  @_hash['is_international'] = 'IsInternational'
  @_hash['is_crt'] = 'IsCRT'
  @_hash['is_fleet'] = 'IsFleet'
  @_hash['is_shell_sites_only'] = 'IsShellSitesOnly'
  @_hash['is_partner_sites_included'] = 'IsPartnerSitesIncluded'
  @_hash['can_have_pin'] = 'CanHavePIN'
  @_hash['is_virtual'] = 'IsVirtual'
  @_hash['is_active'] = 'IsActive'
  @_hash['is_card_available_for_download'] = 'IsCardAvailableForDownload'
  @_hash['col_co_currency_code'] = 'ColCoCurrencyCode'
  @_hash['col_co_currency_symbol'] = 'ColCoCurrencySymbol'
  @_hash['emv_contactless'] = 'EMVContactless'
  @_hash['rfid'] = 'RFID'
  @_hash['pin_change_supported'] = 'PINChangeSupported'
  @_hash['require_pin'] = 'RequirePIN'
  @_hash['offline_pin'] = 'OfflinePIN'
  @_hash['medium_type_id'] = 'MediumTypeID'
  @_hash['medium_type'] = 'MediumType'
  @_hash['cart_type_accounts'] = 'CartTypeAccounts'
  @_hash['purchase_categories'] = 'PurchaseCategories'
  @_hash
end

.nullablesObject

An array for nullable fields



193
194
195
196
197
198
199
200
201
202
203
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 193

def self.nullables
  %w[
    is_card_available_for_download
    emv_contactless
    rfid
    pin_change_supported
    require_pin
    offline_pin
    purchase_categories
  ]
end

.optionalsObject

An array for optional fields



160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 160

def self.optionals
  %w[
    card_type_id
    token_type_id
    card_type_name
    token_type_name
    pan_length
    expiry_period
    is_national
    is_international
    is_crt
    is_fleet
    is_shell_sites_only
    is_partner_sites_included
    can_have_pin
    is_virtual
    is_active
    is_card_available_for_download
    col_co_currency_code
    col_co_currency_symbol
    emv_contactless
    rfid
    pin_change_supported
    require_pin
    offline_pin
    medium_type_id
    medium_type
    cart_type_accounts
    purchase_categories
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 362

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} card_type_id: #{@card_type_id.inspect}, token_type_id:"\
  " #{@token_type_id.inspect}, card_type_name: #{@card_type_name.inspect}, token_type_name:"\
  " #{@token_type_name.inspect}, pan_length: #{@pan_length.inspect}, expiry_period:"\
  " #{@expiry_period.inspect}, is_national: #{@is_national.inspect}, is_international:"\
  " #{@is_international.inspect}, is_crt: #{@is_crt.inspect}, is_fleet: #{@is_fleet.inspect},"\
  " is_shell_sites_only: #{@is_shell_sites_only.inspect}, is_partner_sites_included:"\
  " #{@is_partner_sites_included.inspect}, can_have_pin: #{@can_have_pin.inspect}, is_virtual:"\
  " #{@is_virtual.inspect}, is_active: #{@is_active.inspect}, is_card_available_for_download:"\
  " #{@is_card_available_for_download.inspect}, col_co_currency_code:"\
  " #{@col_co_currency_code.inspect}, col_co_currency_symbol:"\
  " #{@col_co_currency_symbol.inspect}, emv_contactless: #{@emv_contactless.inspect}, rfid:"\
  " #{@rfid.inspect}, pin_change_supported: #{@pin_change_supported.inspect}, require_pin:"\
  " #{@require_pin.inspect}, offline_pin: #{@offline_pin.inspect}, medium_type_id:"\
  " #{@medium_type_id.inspect}, medium_type: #{@medium_type.inspect}, cart_type_accounts:"\
  " #{@cart_type_accounts.inspect}, purchase_categories: #{@purchase_categories.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/shell_card_management_ap_is/models/card_type_response_customer_card_types_items.rb', line 344

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} card_type_id: #{@card_type_id}, token_type_id: #{@token_type_id},"\
  " card_type_name: #{@card_type_name}, token_type_name: #{@token_type_name}, pan_length:"\
  " #{@pan_length}, expiry_period: #{@expiry_period}, is_national: #{@is_national},"\
  " is_international: #{@is_international}, is_crt: #{@is_crt}, is_fleet: #{@is_fleet},"\
  " is_shell_sites_only: #{@is_shell_sites_only}, is_partner_sites_included:"\
  " #{@is_partner_sites_included}, can_have_pin: #{@can_have_pin}, is_virtual: #{@is_virtual},"\
  " is_active: #{@is_active}, is_card_available_for_download:"\
  " #{@is_card_available_for_download}, col_co_currency_code: #{@col_co_currency_code},"\
  " col_co_currency_symbol: #{@col_co_currency_symbol}, emv_contactless: #{@emv_contactless},"\
  " rfid: #{@rfid}, pin_change_supported: #{@pin_change_supported}, require_pin:"\
  " #{@require_pin}, offline_pin: #{@offline_pin}, medium_type_id: #{@medium_type_id},"\
  " medium_type: #{@medium_type}, cart_type_accounts: #{@cart_type_accounts},"\
  " purchase_categories: #{@purchase_categories}>"
end