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



1635
1636
1637
# File 'lib/carddb/collection.rb', line 1635

def access_mode
  data['accessMode']
end

#account_idObject



1595
1596
1597
# File 'lib/carddb/collection.rb', line 1595

def 
  data['accountId']
end

#api_application_idObject



1599
1600
1601
# File 'lib/carddb/collection.rb', line 1599

def api_application_id
  data['apiApplicationId']
end

#archived?Boolean

Returns:

  • (Boolean)


1647
1648
1649
# File 'lib/carddb/collection.rb', line 1647

def archived?
  state == 'ARCHIVED'
end

#archived_atObject



1655
1656
1657
# File 'lib/carddb/collection.rb', line 1655

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

#created_atObject



1729
1730
1731
# File 'lib/carddb/collection.rb', line 1729

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

#created_by_account_idObject



1587
1588
1589
# File 'lib/carddb/collection.rb', line 1587

def 
  data['createdByAccountId']
end

#created_by_api_application_idObject



1591
1592
1593
# File 'lib/carddb/collection.rb', line 1591

def created_by_api_application_id
  data['createdByApiApplicationId']
end

#deleted?Boolean

Returns:

  • (Boolean)


1651
1652
1653
# File 'lib/carddb/collection.rb', line 1651

def deleted?
  state == 'DELETED'
end

#deleted_atObject



1659
1660
1661
# File 'lib/carddb/collection.rb', line 1659

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

#descriptionObject



1623
1624
1625
# File 'lib/carddb/collection.rb', line 1623

def description
  data['description']
end

#discoverabilityObject



1639
1640
1641
# File 'lib/carddb/collection.rb', line 1639

def discoverability
  data['discoverability']
end

#draft_revisionObject



1709
1710
1711
# File 'lib/carddb/collection.rb', line 1709

def draft_revision
  data['draftRevision']
end

#draft_updated_atObject



1713
1714
1715
# File 'lib/carddb/collection.rb', line 1713

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

#draft_updated_by_account_idObject



1717
1718
1719
# File 'lib/carddb/collection.rb', line 1717

def 
  data['draftUpdatedByAccountId']
end

#draft_updated_by_api_application_idObject



1721
1722
1723
# File 'lib/carddb/collection.rb', line 1721

def draft_updated_by_api_application_id
  data['draftUpdatedByApiApplicationId']
end

#entriesObject



1691
1692
1693
# File 'lib/carddb/collection.rb', line 1691

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

#environmentObject



1583
1584
1585
# File 'lib/carddb/collection.rb', line 1583

def environment
  data['environment']
end

#external_refObject



1671
1672
1673
# File 'lib/carddb/collection.rb', line 1671

def external_ref
  data['externalRef']
end

#external_ref_api_application_idObject



1667
1668
1669
# File 'lib/carddb/collection.rb', line 1667

def external_ref_api_application_id
  data['externalRefApiApplicationId']
end

#external_subject_refObject



1675
1676
1677
# File 'lib/carddb/collection.rb', line 1675

def external_subject_ref
  data['externalSubjectRef']
end

#format_keyObject



1627
1628
1629
# File 'lib/carddb/collection.rb', line 1627

def format_key
  data['formatKey']
end

#gameObject



1607
1608
1609
# File 'lib/carddb/collection.rb', line 1607

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

#game_idObject



1603
1604
1605
# File 'lib/carddb/collection.rb', line 1603

def game_id
  data['gameId']
end

#has_unpublished_changes?Boolean

Returns:

  • (Boolean)


1725
1726
1727
# File 'lib/carddb/collection.rb', line 1725

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

#idObject



1567
1568
1569
# File 'lib/carddb/collection.rb', line 1567

def id
  data['id']
end

#identifierObject



1615
1616
1617
# File 'lib/carddb/collection.rb', line 1615

def identifier
  data['identifier']
end

#latest_published_versionObject



1701
1702
1703
# File 'lib/carddb/collection.rb', line 1701

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

#metadataObject



1687
1688
1689
# File 'lib/carddb/collection.rb', line 1687

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

#owner_account_idObject



1575
1576
1577
# File 'lib/carddb/collection.rb', line 1575

def 
  data['ownerAccountId']
end

#owner_api_application_idObject



1579
1580
1581
# File 'lib/carddb/collection.rb', line 1579

def owner_api_application_id
  data['ownerApiApplicationId']
end

#owner_typeObject



1571
1572
1573
# File 'lib/carddb/collection.rb', line 1571

def owner_type
  data['ownerType']
end

#published_atObject



1705
1706
1707
# File 'lib/carddb/collection.rb', line 1705

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

#ruleset_idObject



1679
1680
1681
# File 'lib/carddb/collection.rb', line 1679

def ruleset_id
  data['rulesetId']
end

#section_definitionsObject



1695
1696
1697
1698
1699
# File 'lib/carddb/collection.rb', line 1695

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

#slugObject



1611
1612
1613
# File 'lib/carddb/collection.rb', line 1611

def slug
  data['slug']
end

#source_urlObject



1683
1684
1685
# File 'lib/carddb/collection.rb', line 1683

def source_url
  data['sourceUrl']
end

#stateObject



1643
1644
1645
# File 'lib/carddb/collection.rb', line 1643

def state
  data['state']
end

#titleObject



1619
1620
1621
# File 'lib/carddb/collection.rb', line 1619

def title
  data['title']
end

#unpublished_atObject



1663
1664
1665
# File 'lib/carddb/collection.rb', line 1663

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

#updated_atObject



1733
1734
1735
# File 'lib/carddb/collection.rb', line 1733

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

#visibilityObject



1631
1632
1633
# File 'lib/carddb/collection.rb', line 1631

def visibility
  data['visibility']
end