Class: UserLookup
- Inherits:
-
Object
- Object
- UserLookup
- Defined in:
- lib/user_lookup.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#[](user_id) ⇒ Object
Lookup a user by id.
- #flair_groups ⇒ Object
-
#initialize(user_ids = []) ⇒ UserLookup
constructor
A new instance of UserLookup.
- #primary_groups ⇒ Object
Constructor Details
#initialize(user_ids = []) ⇒ UserLookup
Returns a new instance of UserLookup.
22 23 24 |
# File 'lib/user_lookup.rb', line 22 def initialize(user_ids = []) @user_ids = user_ids.tap(&:compact!).tap(&:uniq!).tap(&:flatten!) end |
Class Method Details
.group_lookup_columns ⇒ Object
18 19 20 |
# File 'lib/user_lookup.rb', line 18 def self.group_lookup_columns @group_lookup_columns ||= %i[id name flair_icon flair_upload_id flair_bg_color flair_color] end |
.lookup_columns ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/user_lookup.rb', line 4 def self.lookup_columns @user_lookup_columns ||= %i[ id username name uploaded_avatar_id primary_group_id flair_group_id admin moderator trust_level ] end |
Instance Method Details
#[](user_id) ⇒ Object
Lookup a user by id
27 28 29 |
# File 'lib/user_lookup.rb', line 27 def [](user_id) users[user_id] end |
#flair_groups ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/user_lookup.rb', line 44 def flair_groups @flair_groups ||= users .values .each_with_object({}) do |user, hash| if user.flair_group_id group = groups[user.flair_group_id] set_user_group_preload(user, group, :flair_group) hash[user.id] = group end end end |
#primary_groups ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/user_lookup.rb', line 31 def primary_groups @primary_groups ||= users .values .each_with_object({}) do |user, hash| if user.primary_group_id group = groups[user.primary_group_id] set_user_group_preload(user, group, :primary_group) hash[user.id] = group end end end |