class Todo::Application

Public Class Methods

new(persistent: false) click to toggle source
# File lib/todo.rb, line 11
          def initialize(persistent: false)
@list = init_list(persistent) 
@presenter = Todo::Presenter.new
          end

Public Instance Methods

access_list(list_name) click to toggle source
# File lib/todo.rb, line 42
def access_list(list_name)
        @list.access_list(list_name)
end
add(name:, **options) click to toggle source
# File lib/todo.rb, line 16
def add(name:, **options)
        @list.add(name: name, priority: options[:priority], list: options[:list])
end
finish(task_name, **options) click to toggle source
# File lib/todo.rb, line 20
def finish(task_name, **options)
  if options[:list]
    access_list(options[:list]).finish(task_name)
  else
    @list.finish(task_name)
  end
end
lists() click to toggle source
# File lib/todo.rb, line 38
          def lists
@presenter.present(item: @list, info: :lists)
          end
remove(task_name) click to toggle source
# File lib/todo.rb, line 28
def remove(task_name)
        @list.remove(task_name)
end
tasks(options={}) click to toggle source
# File lib/todo.rb, line 32
          def tasks(options={})
item = options[:list] ? access_list(options[:list]) : @list
return "no such list"  unless item
@presenter.present(item: item, info: :tasks, level: options[:level])
          end

Private Instance Methods

init_list(persistent) click to toggle source
# File lib/todo.rb, line 48
def init_list(persistent)
  if persistent
    Todo::List.load
  else
    Todo::List.new
  end
end