diff --git a/Gemfile.lock b/Gemfile.lock index 3cbeae8..3d189f7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,4 +1,5 @@ GEM + remote: https://rubygems.org/ specs: minitest (5.8.1) diff --git a/address_book.rb b/address_book.rb index e5406d1..8caae34 100644 --- a/address_book.rb +++ b/address_book.rb @@ -1,13 +1,20 @@ +require 'csv' + class AddressBook def initialize(csv_path) - + @people = [] + CSV.foreach(csv_path, :headers => true) do |row| + @people << Person.new(id: row[0], full_name: row[1], phone_number: row[2] , city: row[3]) + end end def print_people - + puts 'id,full_name,phone_number,city' + @people.each { |person| puts person } end def search_person(person_name) - + @people.each { |person| puts person if person.full_name.include?(person_name) } end + end diff --git a/person.rb b/person.rb index ab139ec..139445f 100644 --- a/person.rb +++ b/person.rb @@ -1,3 +1,14 @@ class Person + attr_reader :full_name + def initialize(params = {}) + @id = params[:id] + @full_name = params[:full_name] + @phone_number = params[:phone_number] + @city = params[:city] + end + + def to_s + "#{@id},#{@full_name},#{@phone_number},#{@city}" + end end