diff --git a/models/address_book.rb b/models/address_book.rb index c3f0be9..591f3b3 100644 --- a/models/address_book.rb +++ b/models/address_book.rb @@ -18,4 +18,15 @@ def add_entry(name, phone_number, email) end @entries.insert(index, Entry.new(name, phone_number, email)) end + + def remove_entry(name, phone, email) + delete_entry = nil + + @entries.each do |entry| + if name == entry.name && phone == entry.phone_number && email == entry.email + delete_entry = entry + end + end + @entries.delete(delete_entry) + end end diff --git a/spec/address_book_spec.rb b/spec/address_book_spec.rb index 1b1dbdf..9a878e2 100644 --- a/spec/address_book_spec.rb +++ b/spec/address_book_spec.rb @@ -36,4 +36,22 @@ expect(new_entry.email).to eq('augusta.king@lovelace.com') end end + + describe "#remove_entry" do + it "removes entry from the address book" do + book = AddressBook.new + book.add_entry('Aaron Nagucki', '419.555.1234', 'aaron@aaron.com') + + name = "Ada Lovelace" + phone_number = "010.012.1815" + email_address = "augusta.king@lovelace.com" + book.add_entry(name, phone_number, email_address) + + expect(book.entries.size).to eq 2 + book.remove_entry(name, phone_number, email_address) + expect(book.entries.size).to eq 1 + expect(book.entries.first.name).to eq("Aaron Nagucki") + end + + end end