rubocop fixing + helper methods

This commit is contained in:
Aaro Koivukangas
2023-08-16 10:05:14 +03:00
parent ca680d7c04
commit d8455d2867
2 changed files with 16 additions and 8 deletions
+12 -6
View File
@@ -22,14 +22,20 @@ class User < ApplicationRecord
def favorite_style
# create hash with key being style name and value first 0 and then the score
styles = {}
self.ratings.each do |rating|
styles[rating.beer.style] = 0
end
self.ratings.each do |rating|
ratings.each do |rating|
if styles[rating.beer.style].nil?
styles[rating.beer.style] = rating.score
else
styles[rating.beer.style] += rating.score
end
end
# determine which style hast the most points
style_with_most_points(styles)
end
private
def style_with_most_points(styles)
highest = { name: "", total: 0 }
styles.each do |style|
if style[1] > highest[:total]
@@ -37,6 +43,6 @@ class User < ApplicationRecord
highest[:total] = style[1]
end
end
return highest[:name]
highest[:name]
end
end
+2
View File
@@ -52,6 +52,8 @@ RSpec.describe User, type: :model do
create_beer_with_many_ratings({user: user}, 20, 30, 20)
beer_with_favorite_style = FactoryBot.create(:beer, style: "No")
FactoryBot.create(:rating, beer: beer_with_favorite_style, score: 50, user: user)
expect(user.favorite_style).to eq "Yes"
end
end
end