module Haora::TextIOImporter

Constants

DAY_RE
TASK_RE

Public Instance Methods

import(io) click to toggle source
# File lib/haora/io.rb, line 25
def import(io)
  @workbook = Workbook.new
  io.each_line { |line|
    DAY_RE.match(line) { |date_match| new_day(date_match) }
    TASK_RE.match(line) { |task_match| new_task(task_match) }
  }
  @workbook
end

Private Instance Methods

new_day(date_match) click to toggle source
# File lib/haora/io.rb, line 40
def new_day(date_match)
  @day = Day.new(Date.parse(date_match[1]))
  @workbook << @day
end
new_task(task_match) click to toggle source
# File lib/haora/io.rb, line 36
def new_task(task_match)
  @day << Task.new(start: task_match[1], stop: task_match[2], project: task_match[3], text: task_match[4])
end