Class: UserGroup

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document
Defined in:
app/models/user_group.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) id_and_name

for autocomplete pre-data



32
33
34
35
36
# File 'app/models/user_group.rb', line 32

def id_and_name
  users.map {|friend|
    { id: friend.id.to_s, name: friend.name }
  }
end

- (Object) member_names

String member names, comma-separated

Returns:

  • String member names, comma-separated



23
24
25
# File 'app/models/user_group.rb', line 23

def member_names
  @member_names ||= User.any_in( _id: members).only(:name).map(&:name).join(", ")
end

- (Object) member_tokens

String comma-separated string of user-ids

Returns:

  • String comma-separated string of user-ids



10
11
12
# File 'app/models/user_group.rb', line 10

def member_tokens
  self.members.map{|id| id.to_s}.join(",")
end

- (Object) member_tokens=(new_members)

Split up string by comma and fetch User-ids into member-array

Parameters:

  • String

    comma-separated string of user-ids



16
17
18
19
20
# File 'app/models/user_group.rb', line 16

def member_tokens=(new_members)
  _ids = new_members.split(",").map { |id| id.strip }
  self.members = User.any_in( _id: _ids ).only(:_id).all.map{|i| i._id}
  @member_names = nil # clear chached variable
end

- (Object) users



27
28
29
# File 'app/models/user_group.rb', line 27

def users
  User.any_in(_id: members)
end