Class: Card::Virtual

Inherits:
Cardio::Record show all
Defined in:
mod/virtual/lib/card/virtual.rb

Overview

Model for the card_virtuals table. It provides method to get and store content for virtual cards from the card_virtuals table.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cacheObject



37
38
39
# File 'mod/virtual/lib/card/virtual.rb', line 37

def cache
  Card::Cache[Virtual]
end

.delete(card) ⇒ Object



32
33
34
35
# File 'mod/virtual/lib/card/virtual.rb', line 32

def delete card
  cache.delete card.key
  find_by_card(card)&.delete
end

.fetch(card) ⇒ Object



22
23
24
25
26
# File 'mod/virtual/lib/card/virtual.rb', line 22

def fetch card
  cache.fetch card.key do
    find_by_card(card) || create(card)
  end
end

.save(card) ⇒ Object



28
29
30
# File 'mod/virtual/lib/card/virtual.rb', line 28

def save card
  cache.write card.key, create_or_update(card)
end

Instance Method Details

#card_idObject



13
14
15
# File 'mod/virtual/lib/card/virtual.rb', line 13

def card_id
  Card.fetch left_id, right_id
end

#cardnameObject



17
18
19
# File 'mod/virtual/lib/card/virtual.rb', line 17

def cardname
  [left_id, right_id].cardname
end

#update(new_content) ⇒ Object



8
9
10
11
# File 'mod/virtual/lib/card/virtual.rb', line 8

def update new_content
  content == new_content ? touch : update!(content: new_content)
  new_content
end