Class: Fsrs::Card
- Inherits:
-
Object
- Object
- Fsrs::Card
- Defined in:
- lib/fsrs/fsrs.rb
Overview
Card
Instance Attribute Summary collapse
-
#difficulty ⇒ Object
Returns the value of attribute difficulty.
-
#due ⇒ Object
Returns the value of attribute due.
-
#elapsed_days ⇒ Object
Returns the value of attribute elapsed_days.
-
#lapses ⇒ Object
Returns the value of attribute lapses.
-
#last_review ⇒ Object
Returns the value of attribute last_review.
-
#reps ⇒ Object
Returns the value of attribute reps.
-
#scheduled_days ⇒ Object
Returns the value of attribute scheduled_days.
-
#stability ⇒ Object
Returns the value of attribute stability.
-
#state ⇒ Object
Returns the value of attribute state.
Instance Method Summary collapse
- #deep_clone ⇒ Object
- #get_retrievability(now) ⇒ Object
-
#initialize ⇒ Card
constructor
A new instance of Card.
Constructor Details
#initialize ⇒ Card
Returns a new instance of Card.
171 172 173 174 175 176 177 178 179 180 |
# File 'lib/fsrs/fsrs.rb', line 171 def initialize @due = DateTime.new @stability = 0.0 @difficulty = 0.0 @elapsed_days = 0 @scheduled_days = 0 @reps = 0 @lapses = 0 @state = State::NEW end |
Instance Attribute Details
#difficulty ⇒ Object
Returns the value of attribute difficulty.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def difficulty @difficulty end |
#due ⇒ Object
Returns the value of attribute due.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def due @due end |
#elapsed_days ⇒ Object
Returns the value of attribute elapsed_days.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def elapsed_days @elapsed_days end |
#lapses ⇒ Object
Returns the value of attribute lapses.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def lapses @lapses end |
#last_review ⇒ Object
Returns the value of attribute last_review.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def last_review @last_review end |
#reps ⇒ Object
Returns the value of attribute reps.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def reps @reps end |
#scheduled_days ⇒ Object
Returns the value of attribute scheduled_days.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def scheduled_days @scheduled_days end |
#stability ⇒ Object
Returns the value of attribute stability.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def stability @stability end |
#state ⇒ Object
Returns the value of attribute state.
169 170 171 |
# File 'lib/fsrs/fsrs.rb', line 169 def state @state end |
Instance Method Details
#deep_clone ⇒ Object
192 193 194 |
# File 'lib/fsrs/fsrs.rb', line 192 def deep_clone Marshal.load(Marshal.dump(self)) end |
#get_retrievability(now) ⇒ Object
182 183 184 185 186 187 188 189 190 |
# File 'lib/fsrs/fsrs.rb', line 182 def get_retrievability(now) decay = -0.5 factor = (0.9**(1 / decay)) - 1 return nil unless @state == State::REVIEW elapsed_days = [0, (now - @last_review).to_i].max (1 + (factor * elapsed_days / @stability))**decay end |