Skip to Content Skip to Search

Deck represents an Anki deck.

Methods
N
S
Included Modules

Class Public methods

new(anki21_database:, name: nil, args: nil)

Instantiates a new Deck object belonging to anki21_database with name name.

# File lib/anki_record/deck/deck.rb, line 19
def initialize(anki21_database:, name: nil, args: nil)
  raise ArgumentError unless (name && args.nil?) || (args && args["name"])

  @anki21_database = anki21_database
  if args
    setup_deck_instance_variables_from_existing(args:)
  else
    setup_deck_instance_variables(name:)
  end

  @anki21_database.add_deck self
  save if args
end

Instance Public methods

save()

Saves the deck to the collection.anki21 database.

# File lib/anki_record/deck/deck.rb, line 35
def save
  collection_decks_hash = anki21_database.decks_json
  collection_decks_hash[@id] = to_h
  sql = "update col set decks = ? where id = ?"
  anki21_database.prepare(sql).execute([JSON.generate(collection_decks_hash), anki21_database.collection.id])
end