Class: CardDB::Deck

Inherits:
Resource show all
Defined in:
lib/carddb/collection.rb

Overview

Wrapper for hosted Deck objects

Instance Attribute Summary

Attributes inherited from Resource

#client, #data

Instance Method Summary collapse

Methods inherited from Resource

#[], #initialize, #key?, #to_h, #to_json

Constructor Details

This class inherits a constructor from CardDB::Resource

Instance Method Details

#access_modeObject



1374
1375
1376
# File 'lib/carddb/collection.rb', line 1374

def access_mode
  data['accessMode']
end

#account_idObject



1334
1335
1336
# File 'lib/carddb/collection.rb', line 1334

def 
  data['accountId']
end

#api_application_idObject



1338
1339
1340
# File 'lib/carddb/collection.rb', line 1338

def api_application_id
  data['apiApplicationId']
end

#archived?Boolean

Returns:

  • (Boolean)


1386
1387
1388
# File 'lib/carddb/collection.rb', line 1386

def archived?
  state == 'ARCHIVED'
end

#archived_atObject



1394
1395
1396
# File 'lib/carddb/collection.rb', line 1394

def archived_at
  parse_time(data['archivedAt'])
end

#created_atObject



1468
1469
1470
# File 'lib/carddb/collection.rb', line 1468

def created_at
  parse_time(data['createdAt'])
end

#created_by_account_idObject



1326
1327
1328
# File 'lib/carddb/collection.rb', line 1326

def 
  data['createdByAccountId']
end

#created_by_api_application_idObject



1330
1331
1332
# File 'lib/carddb/collection.rb', line 1330

def created_by_api_application_id
  data['createdByApiApplicationId']
end

#deleted?Boolean

Returns:

  • (Boolean)


1390
1391
1392
# File 'lib/carddb/collection.rb', line 1390

def deleted?
  state == 'DELETED'
end

#deleted_atObject



1398
1399
1400
# File 'lib/carddb/collection.rb', line 1398

def deleted_at
  parse_time(data['deletedAt'])
end

#descriptionObject



1362
1363
1364
# File 'lib/carddb/collection.rb', line 1362

def description
  data['description']
end

#discoverabilityObject



1378
1379
1380
# File 'lib/carddb/collection.rb', line 1378

def discoverability
  data['discoverability']
end

#draft_revisionObject



1448
1449
1450
# File 'lib/carddb/collection.rb', line 1448

def draft_revision
  data['draftRevision']
end

#draft_updated_atObject



1452
1453
1454
# File 'lib/carddb/collection.rb', line 1452

def draft_updated_at
  parse_time(data['draftUpdatedAt'])
end

#draft_updated_by_account_idObject



1456
1457
1458
# File 'lib/carddb/collection.rb', line 1456

def 
  data['draftUpdatedByAccountId']
end

#draft_updated_by_api_application_idObject



1460
1461
1462
# File 'lib/carddb/collection.rb', line 1460

def draft_updated_by_api_application_id
  data['draftUpdatedByApiApplicationId']
end

#entriesObject



1430
1431
1432
# File 'lib/carddb/collection.rb', line 1430

def entries
  @entries ||= (data['entries'] || []).map { |entry| DeckEntry.new(entry, client: client) }
end

#environmentObject



1322
1323
1324
# File 'lib/carddb/collection.rb', line 1322

def environment
  data['environment']
end

#external_refObject



1410
1411
1412
# File 'lib/carddb/collection.rb', line 1410

def external_ref
  data['externalRef']
end

#external_ref_api_application_idObject



1406
1407
1408
# File 'lib/carddb/collection.rb', line 1406

def external_ref_api_application_id
  data['externalRefApiApplicationId']
end

#external_subject_refObject



1414
1415
1416
# File 'lib/carddb/collection.rb', line 1414

def external_subject_ref
  data['externalSubjectRef']
end

#format_keyObject



1366
1367
1368
# File 'lib/carddb/collection.rb', line 1366

def format_key
  data['formatKey']
end

#gameObject



1346
1347
1348
# File 'lib/carddb/collection.rb', line 1346

def game
  @game ||= data['game'] ? Game.new(data['game'], client: client) : nil
end

#game_idObject



1342
1343
1344
# File 'lib/carddb/collection.rb', line 1342

def game_id
  data['gameId']
end

#has_unpublished_changes?Boolean

Returns:

  • (Boolean)


1464
1465
1466
# File 'lib/carddb/collection.rb', line 1464

def has_unpublished_changes?
  !!data['hasUnpublishedChanges']
end

#idObject



1306
1307
1308
# File 'lib/carddb/collection.rb', line 1306

def id
  data['id']
end

#identifierObject



1354
1355
1356
# File 'lib/carddb/collection.rb', line 1354

def identifier
  data['identifier']
end

#latest_published_versionObject



1440
1441
1442
# File 'lib/carddb/collection.rb', line 1440

def latest_published_version
  @latest_published_version ||= data['latestPublishedVersion'] ? DeckVersion.new(data['latestPublishedVersion'], client: client) : nil
end

#metadataObject



1426
1427
1428
# File 'lib/carddb/collection.rb', line 1426

def 
  data['metadata'] || {}
end

#owner_account_idObject



1314
1315
1316
# File 'lib/carddb/collection.rb', line 1314

def 
  data['ownerAccountId']
end

#owner_api_application_idObject



1318
1319
1320
# File 'lib/carddb/collection.rb', line 1318

def owner_api_application_id
  data['ownerApiApplicationId']
end

#owner_typeObject



1310
1311
1312
# File 'lib/carddb/collection.rb', line 1310

def owner_type
  data['ownerType']
end

#published_atObject



1444
1445
1446
# File 'lib/carddb/collection.rb', line 1444

def published_at
  parse_time(data['publishedAt'])
end

#ruleset_idObject



1418
1419
1420
# File 'lib/carddb/collection.rb', line 1418

def ruleset_id
  data['rulesetId']
end

#section_definitionsObject



1434
1435
1436
1437
1438
# File 'lib/carddb/collection.rb', line 1434

def section_definitions
  @section_definitions ||= (data['sectionDefinitions'] || []).map do |definition|
    DeckSectionDefinition.new(definition, client: client)
  end
end

#slugObject



1350
1351
1352
# File 'lib/carddb/collection.rb', line 1350

def slug
  data['slug']
end

#source_urlObject



1422
1423
1424
# File 'lib/carddb/collection.rb', line 1422

def source_url
  data['sourceUrl']
end

#stateObject



1382
1383
1384
# File 'lib/carddb/collection.rb', line 1382

def state
  data['state']
end

#titleObject



1358
1359
1360
# File 'lib/carddb/collection.rb', line 1358

def title
  data['title']
end

#unpublished_atObject



1402
1403
1404
# File 'lib/carddb/collection.rb', line 1402

def unpublished_at
  parse_time(data['unpublishedAt'])
end

#updated_atObject



1472
1473
1474
# File 'lib/carddb/collection.rb', line 1472

def updated_at
  parse_time(data['updatedAt'])
end

#visibilityObject



1370
1371
1372
# File 'lib/carddb/collection.rb', line 1370

def visibility
  data['visibility']
end