From 022a831cf17f510872bea84c67e3c258a4fe708a Mon Sep 17 00:00:00 2001 From: Aaron Nagucki Date: Wed, 25 Nov 2015 17:01:07 -0500 Subject: [PATCH 1/2] As far as I could GIT --- models/address_book.rb | 11 +++++++++++ spec/address_book_spec.rb | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/models/address_book.rb b/models/address_book.rb index c3f0be9..6baccda 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_number, email) + index = 0 + @entries.each do |entry| + if name < entry.name + break + end + index += 1 + end + @entries.delete(index, Entry.new(name, phone_number, email)) + end end diff --git a/spec/address_book_spec.rb b/spec/address_book_spec.rb index 1b1dbdf..0b721e1 100644 --- a/spec/address_book_spec.rb +++ b/spec/address_book_spec.rb @@ -36,4 +36,14 @@ 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.remove_entry('Ada Lovelace', '010.012.1815', 'augusta.king@lovelace.com') + + expect(book.entries.size).to eq(0) + end + + end end From d471f84388349e22418f0cac2c69519645b76b11 Mon Sep 17 00:00:00 2001 From: Aaron Nagucki Date: Sat, 28 Nov 2015 12:22:22 -0500 Subject: [PATCH 2/2] updated assignment --- models/address_book.rb | 12 ++++++------ spec/address_book_spec.rb | 12 ++++++++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/models/address_book.rb b/models/address_book.rb index 6baccda..591f3b3 100644 --- a/models/address_book.rb +++ b/models/address_book.rb @@ -19,14 +19,14 @@ def add_entry(name, phone_number, email) @entries.insert(index, Entry.new(name, phone_number, email)) end - def remove_entry(name, phone_number, email) - index = 0 + def remove_entry(name, phone, email) + delete_entry = nil + @entries.each do |entry| - if name < entry.name - break + if name == entry.name && phone == entry.phone_number && email == entry.email + delete_entry = entry end - index += 1 end - @entries.delete(index, Entry.new(name, phone_number, email)) + @entries.delete(delete_entry) end end diff --git a/spec/address_book_spec.rb b/spec/address_book_spec.rb index 0b721e1..9a878e2 100644 --- a/spec/address_book_spec.rb +++ b/spec/address_book_spec.rb @@ -40,9 +40,17 @@ describe "#remove_entry" do it "removes entry from the address book" do book = AddressBook.new - book.remove_entry('Ada Lovelace', '010.012.1815', 'augusta.king@lovelace.com') + book.add_entry('Aaron Nagucki', '419.555.1234', 'aaron@aaron.com') - expect(book.entries.size).to eq(0) + 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