-
Notifications
You must be signed in to change notification settings - Fork 0
/
contact_list.rb
63 lines (53 loc) · 1.77 KB
/
contact_list.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
require_relative 'contact'
require_relative 'contact_database'
# TODO: Implement command line interaction
# This should be the only file where you use puts and gets
class Application
def command_list
case ARGV[0]
when "help"
puts "Here is a list of available commands:"
puts "new - Create a new contact"
puts "list - List all contacts"
puts "show - Show a contact"
puts "find - Find a contact"
when "new"
puts "You selected create a new contact."
puts "Please enter the new contact's email address"
email = STDIN.gets.chomp
ContactDatabase.find_duplicate(email)
puts "Please enter the new contact's first name."
first_name = STDIN.gets.chomp
puts "Please enter the new contact's last name."
last_name = STDIN.gets.chomp
new_contact = Contact.new(first_name, last_name, email)
new_contact.create
input = ""
label = ""
while input != "done" do
puts "Please enter a label and phone number using the following format: label, XXX-XXX-XXXX."
puts "Or enter 'done' to complete the new contact"
input = STDIN.gets.chomp
if input != "done"
new_contact.add_phone_num(input)
end
end
new_contact.save
puts "The ID for this new contact is #{ContactDatabase.total_contacts}"
when "list"
puts "You selected list all contacts."
puts "Here is a list of all your contacts:"
ContactDatabase.list_all_contacts
when "show"
contact_id = ARGV[1]
ContactDatabase.contact_by_id(contact_id)
when "find"
search_term = ARGV[1]
ContactDatabase.find_contact(search_term)
else
puts "That is not a valid command."
end
end
end
example = Application.new
example.command_list