class Medo::JsonTaskReader

Public Class Methods

new(input_stream) click to toggle source
Calls superclass method
# File lib/medo/json_task_reader.rb, line 7
def initialize(input_stream)
  super()
  @input_stream = input_stream
end

Public Instance Methods

read() click to toggle source
# File lib/medo/json_task_reader.rb, line 12
def read
  tasks = []
  JSON.parse(@input_stream.read).map do |task_attributes|
    instantiate_task(task_attributes)
  end
end

Private Instance Methods

instantiate_task(attributes) click to toggle source
# File lib/medo/json_task_reader.rb, line 21
def instantiate_task(attributes)
  attributes["created_at"] = Time.parse(attributes["created_at"])
  if attributes["done"]
    attributes["completed_at"] = Time.parse(attributes["completed_at"])
  end
  Task.from_attributes(attributes)
end