Class: Main
Overview
It’s responsible for the application initialization and for the client communication interface.
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from MainHelper
#confirm_deletion_message, #display_created_task_message, #display_description_needed_message, #display_something_went_wrong_message, #print_successfull_deletion_message
Methods included from TodoHelper
#_display_done_todos, #_display_no_matches, #_display_todos, #_display_todos_count_message, #_two_characters_format, #display_all_todos, #display_undone_todos
Class Method Details
.exit_on_failure? ⇒ Boolean
57
58
59
|
# File 'lib/main.rb', line 57
def exit_on_failure?
true
end
|
Instance Method Details
#add(*description) ⇒ Object
14
15
16
17
18
19
20
21
|
# File 'lib/main.rb', line 14
def add(*description)
return unless validate_description_presence(description)
todo_idx = with_rescue do
todos_controller.add(description: description.join(' '))
end
display_created_task_message(todo_idx)
end
|
#delete(idx) ⇒ Object
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/main.rb', line 31
def delete(idx)
with_rescue do
index = idx.to_i - 1
todo = todos_controller.find(index)
if require_deletion_confirmation(index, todo)
todos_controller.delete(index)
print_successfull_deletion_message
end
end
end
|
#done(idx) ⇒ Object
24
25
26
27
28
|
# File 'lib/main.rb', line 24
def done(idx)
with_rescue do
todos_controller.done(idx.to_i - 1)
end
end
|
#list ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/main.rb', line 44
def list
todos = with_rescue do
todos_controller.list
end
if options['all']
display_all_todos(undone: todos[:undone_items], done: todos[:done_items])
else
display_undone_todos(todos[:undone_items])
end
end
|