From 468c4d5e1b4cfd9a90acf7018176e36c5090e2ed Mon Sep 17 00:00:00 2001 From: dtaylor73 <44825337+dtaylor73@users.noreply.github.com> Date: Mon, 12 Aug 2019 00:28:24 -0700 Subject: [PATCH] Leaves - Dominique --- ride-share.rb | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 ride-share.rb diff --git a/ride-share.rb b/ride-share.rb new file mode 100644 index 0000000..03bbff8 --- /dev/null +++ b/ride-share.rb @@ -0,0 +1,106 @@ +drivers_statistics = { + DR0001: [ + { + date: "3rd Feb 2016", + cost: 10, + rider_id: "RD0003", + rating: 3 + }, + { + date: "3rd Feb 2016", + cost: 30, + rider_id: "RD0015", + rating: 4 + }, + { + date: "5th Feb 2016", + cost: 45, + rider_id: "RD0003", + rating: 2 + } + ], + DR0002: [ + { + date: "3rd Feb 2016", + cost: 25, + rider_id: "RD0073", + rating: 5 + }, + { + date: "4th Feb 2016", + cost: 15, + rider_id: "RD0013", + rating: 1 + }, + { + date: "5th Feb 2016", + cost: 35, + rider_id: "RD0066", + rating: 3 + } + ], + DR0003: [ + { + date: "4th Feb 2016", + cost: 5, + rider_id: "RD0066", + rating: 5 + }, + { + date: "5th Feb 2016", + cost: 50, + rider_id: "RD0003", + rating: 2 + } + ], + DR0004: [ + { + date: "3rd Feb 2016", + cost: 5, + rider_id: "RD0022", + rating: 5 + }, + { + date: "4th Feb 2016", + cost: 10, + rider_id: "RD0022", + rating: 4 + }, + { + date: "5th Feb 2016", + cost: 20, + rider_id: "RD0073", + rating: 5 + } + ] +} + +total_driver_earnings = [] +total_driver_ratings = [] +driver_highest_earnings = [] +driver_highest_rating = [] + +drivers_statistics.each do |driver_id, rides| + rides.each do |ride_info| + total_driver_earnings.push(ride_info[:cost]) + total_driver_ratings.push(ride_info[:rating]) + end + + "\nDriver #{driver_id}:" + "\nNumber of rides given - #{drivers_statistics[driver_id].length} rides" + "Total amount of money made - $#{(total_driver_earnings.sum)}" + "Average rating - #{'%.2f' % (total_driver_ratings.sum.to_f/total_driver_ratings.length)}" + + driver_highest_rating << '%.2f' % ((total_driver_ratings.sum.to_f/total_driver_ratings.length)) + + driver_highest_earnings.push(total_driver_earnings.sum) + + total_driver_earnings.clear + total_driver_ratings.clear +end + +"\n~Driver with the highest average rating~" +"Driver DR000#{driver_highest_rating.index(driver_highest_rating.max) + 1} - #{driver_highest_rating.max}" + +"\n~Driver with highest earnings~" +"Driver DR000#{driver_highest_earnings.index(driver_highest_earnings.max) + 1}: $#{driver_highest_earnings.max}"