Sha256: 9572b1437fe75097907e30e686d508c818652f7fbf7122c3a7fd3d9cd753c6c3
Contents?: true
Size: 962 Bytes
Versions: 3
Compression:
Stored size: 962 Bytes
Contents
# frozen_string_literal: true module ActiveRecall class Item < ActiveRecord::Base self.table_name = 'active_recall_items' belongs_to :deck belongs_to :source, polymorphic: true scope :failed, -> { where(['box = ? and last_reviewed is not null', 0]) } scope :untested, -> { where(['box = ? and last_reviewed is null', 0]) } def self.expired(current_time: Time.current) where(['box > ? and next_review <= ?', 0, current_time]) end def self.known(current_time: Time.current) where(['box > ? and next_review > ?', 0, current_time]) end def right! update!(algorithm_class.right(scoring_attributes)) end def wrong! update!(algorithm_class.wrong(scoring_attributes)) end private def algorithm_class ActiveRecall.configuration.algorithm_class end def scoring_attributes attributes.symbolize_keys.slice(:box, :times_right, :times_wrong) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
active_recall-1.2.2 | lib/active_recall/models/item.rb |
active_recall-1.2.1 | lib/active_recall/models/item.rb |
active_recall-1.2.0 | lib/active_recall/models/item.rb |