Class: FsrsRuby::Card

Inherits:
Object
  • Object
show all
Defined in:
lib/fsrs_ruby/models.rb

Overview

Card class representing a flashcard

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(due:, stability: 0.0, difficulty: 0.0, elapsed_days: 0, scheduled_days: 0, learning_steps: 0, reps: 0, lapses: 0, state: State::NEW, last_review: nil) ⇒ Card

Returns a new instance of Card.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/fsrs_ruby/models.rb', line 67

def initialize(
  due:,
  stability: 0.0,
  difficulty: 0.0,
  elapsed_days: 0,
  scheduled_days: 0,
  learning_steps: 0,
  reps: 0,
  lapses: 0,
  state: State::NEW,
  last_review: nil
)
  @due = due
  @stability = stability.to_f
  @difficulty = difficulty.to_f
  @elapsed_days = elapsed_days
  @scheduled_days = scheduled_days
  @learning_steps = learning_steps
  @reps = reps
  @lapses = lapses
  @state = state
  @last_review = last_review
end

Instance Attribute Details

#difficultyObject

Returns the value of attribute difficulty.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def difficulty
  @difficulty
end

#dueObject

Returns the value of attribute due.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def due
  @due
end

#elapsed_daysObject

Returns the value of attribute elapsed_days.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def elapsed_days
  @elapsed_days
end

#lapsesObject

Returns the value of attribute lapses.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def lapses
  @lapses
end

#last_reviewObject

Returns the value of attribute last_review.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def last_review
  @last_review
end

#learning_stepsObject

Returns the value of attribute learning_steps.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def learning_steps
  @learning_steps
end

#repsObject

Returns the value of attribute reps.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def reps
  @reps
end

#scheduled_daysObject

Returns the value of attribute scheduled_days.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def scheduled_days
  @scheduled_days
end

#stabilityObject

Returns the value of attribute stability.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def stability
  @stability
end

#stateObject

Returns the value of attribute state.



64
65
66
# File 'lib/fsrs_ruby/models.rb', line 64

def state
  @state
end

Instance Method Details

#cloneObject



91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/fsrs_ruby/models.rb', line 91

def clone
  Card.new(
    due: @due.dup,
    stability: @stability,
    difficulty: @difficulty,
    elapsed_days: @elapsed_days,
    scheduled_days: @scheduled_days,
    learning_steps: @learning_steps,
    reps: @reps,
    lapses: @lapses,
    state: @state,
    last_review: @last_review&.dup
  )
end

#to_hObject



106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/fsrs_ruby/models.rb', line 106

def to_h
  {
    due: @due,
    stability: @stability,
    difficulty: @difficulty,
    elapsed_days: @elapsed_days,
    scheduled_days: @scheduled_days,
    learning_steps: @learning_steps,
    reps: @reps,
    lapses: @lapses,
    state: @state,
    last_review: @last_review
  }
end