class TaskManager::NewTaskFile

Public Instance Methods

delete(id) click to toggle source
# File lib/task_manager/new_task_file.rb, line 11
def delete(id)
  node = find_node(id)
  task = Task.new_from_node(node)
  handle_xml { node.remove }
  task
end
pick(id) { |task| ... } click to toggle source
# File lib/task_manager/new_task_file.rb, line 3
def pick(id)
  node = find_node(id)
  task = Task.new_from_node(node)
  yield(task) if block_given?
  handle_xml { node.remove }
  task
end

Protected Instance Methods

create_node(task) click to toggle source
Calls superclass method
# File lib/task_manager/new_task_file.rb, line 36
def create_node(task)
  node = super
  node['created_at'] = time_now
  node
end
find_node(id) click to toggle source
# File lib/task_manager/new_task_file.rb, line 20
def find_node(id)
  node = root_node.css('task').find { |t| t['id'].to_i == id.to_i }
  raise 'ID not exists'.colorize(:light_red) unless node
  node
end
root_node() click to toggle source
Calls superclass method
# File lib/task_manager/new_task_file.rb, line 26
def root_node
  @root_node ||= begin
    xml.css(NEW_NODE).first || begin
      node = xml.create_element(NEW_NODE)
      super.add_child(node)
      node
    end
  end
end