diff --git a/lib/avatar_lookup.rb b/lib/avatar_lookup.rb index c48ee5cd2..aef319692 100644 --- a/lib/avatar_lookup.rb +++ b/lib/avatar_lookup.rb @@ -11,11 +11,28 @@ class AvatarLookup private + def self.lookup_columns + @lookup_columns ||= [:id, + :email, + :username, + :use_uploaded_avatar, + :uploaded_avatar_template, + :uploaded_avatar_id] + end + def users - @users ||= User.where(:id => @user_ids) - .select([:id, :email, :username, :use_uploaded_avatar, :uploaded_avatar_template, :uploaded_avatar_id]) - .inject({}) do |hash, user| - hash.merge({user.id => user}) - end + @users ||= user_lookup_hash + end + + def user_lookup_hash + # adding tap here is a personal taste thing + hash = {} + User + .where(:id => @user_ids) + .select(AvatarLookup.lookup_columns) + .each{|user| + hash[user.id] = user + } + hash end end