Module: Flashcard::Base::InstanceMethods
- Defined in:
- lib/acts_as_flashcard.rb
Instance Method Summary collapse
-
#answered!(ease) ⇒ Object
ease: 0 - 4.
Instance Method Details
#answered!(ease) ⇒ Object
ease: 0 - 4
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/acts_as_flashcard.rb', line 72 def answered!(ease) increment_repetitions(ease) last_delay_secs = (Time.now - self.combined_due).to_f last_delay = last_delay_secs / 86400.0 self.interval = next_interval(ease) unless last_delay >= 0 # keep last interval if reviewing early last_due = self.due self.due = next_due(ease) update_factor(ease) if last_delay >= 0 min_of_other_cards = acts_as_flashcard_class.minimum('interval', :conditions => "#{scope_condition} AND id != #{self.id}") space = min_of_other_cards.nil? ? 0 : [min_of_other_cards, self.interval].min space = space * 0.1.day space = [space, 60].max space = Time.now + space self.combined_due = [space, due].max save end |