class Anki::Importer::Field

Schema element for Anki facts.

Each model has multiple fields. Each fact obeys the schema set by fields.

Attributes

anki_id[R]

Unique ID in the fields table.

description[R]

Generally empty.

model[R]

The model that this field belongs to.

name[R]

Name assigned in the Anki UI.

numeric[R]

True if the field is a sort key (number to sort the cards by).

required[R]

True if no empty field values are allowed.

unique[R]

True if all facts must have unique values for the field.

Public Class Methods

from_db(deck_db, deck) click to toggle source

Reads the fields from an Anki deck.

Args:

deck_db:: a Sqlite3::Datbase
deck: the (under construction) Anki::Importer::Deck for deck_db

Returns an array of Field instances.

# File lib/anki/importer/field.rb, line 34
def self.from_db(deck_db, deck)
  query = 'SELECT id, modelId, name, description, features, required, "unique", numeric FROM fieldModels ORDER BY ordinal'
  models = deck_db.execute(query).map do |anki_id, model_id, name,
      description, features, required, unique, numeric|
    self.new anki_id, deck.models_by_id[model_id], name, description,
             features, required == 1, unique == 1, numeric == 1
  end
end