class Questionaire
Attributes
source[R]
Public Class Methods
new(source)
click to toggle source
# File lib/forgetful/questionaire.rb, line 4 def initialize(source) @source = source end
Public Instance Methods
grade(results)
click to toggle source
# File lib/forgetful/questionaire.rb, line 19 def grade(results) source.write(update(reminders, results)) end
questions()
click to toggle source
# File lib/forgetful/questionaire.rb, line 8 def questions i = 0 reminders.map { |reminder| pair = [reminder, i]; i+=1; pair }. select { |reminder, i| reminder.due_on <= Date.today }. map do |reminder, i| { :id => i, :question => reminder.question, :answer => reminder.answer } end end
Private Instance Methods
reminders()
click to toggle source
# File lib/forgetful/questionaire.rb, line 34 def reminders source.read end
update(reminders, results)
click to toggle source
results is a list of pairs: [id, q]
# File lib/forgetful/questionaire.rb, line 26 def update(reminders, results) reminders = reminders.dup results.each do |id,q| reminders[id] = reminders.fetch(id).next(q) end reminders end