Class: Databasedotcom::Chatter::Group
- Includes:
- PhotoMethods
- Defined in:
- lib/databasedotcom/chatter/group.rb
Overview
A group of Users
Instance Attribute Summary
Attributes inherited from Record
#client, #id, #name, #raw_hash, #type, #url
Class Method Summary collapse
-
.join(client, group_id, user_id = "me") ⇒ Object
Join the group identified by group_id as the user identified by user_id.
-
.members(client, group_id) ⇒ Object
Returns a Collection of GroupMembership instances for the Group identified by group_id.
Instance Method Summary collapse
-
#join(user_id = "me") ⇒ Object
Join this Group as the user identified by user_id.
-
#members ⇒ Object
Get a Collection of GroupMembership objects for this Group.
-
#members! ⇒ Object
Get a Collection of GroupMembership objects for this Group.
Methods included from PhotoMethods
#delete_photo, included, #photo, #upload_photo
Methods inherited from Record
all, #delete, delete, find, #initialize, #parent, #reload, resource_name, search, #user
Constructor Details
This class inherits a constructor from Databasedotcom::Chatter::Record
Class Method Details
.join(client, group_id, user_id = "me") ⇒ Object
Join the group identified by group_id as the user identified by user_id.
23 24 25 26 27 |
# File 'lib/databasedotcom/chatter/group.rb', line 23 def self.join(client, group_id, user_id="me") url = "/services/data/v#{client.version}/chatter/groups/#{group_id}/members" response = client.http_post(url, nil, :userId => user_id) GroupMembership.new(client, response.body) end |
.members(client, group_id) ⇒ Object
Returns a Collection of GroupMembership instances for the Group identified by group_id.
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/databasedotcom/chatter/group.rb', line 11 def self.members(client, group_id) url = "/services/data/v#{client.version}/chatter/groups/#{group_id}/members" result = client.http_get(url) response = JSON.parse(result.body) collection = Databasedotcom::Collection.new(client, response["totalMemberCount"], response["nextPageUrl"], response["previousPageUrl"], response["currentPageUrl"]) response["members"].each do |member| collection << GroupMembership.new(client, member) end collection end |
Instance Method Details
#join(user_id = "me") ⇒ Object
Join this Group as the user identified by user_id.
40 41 42 |
# File 'lib/databasedotcom/chatter/group.rb', line 40 def join(user_id="me") self.class.join(self.client, self.id, user_id) end |
#members ⇒ Object
Get a Collection of GroupMembership objects for this Group. Returns cached data if it has been called before.
35 36 37 |
# File 'lib/databasedotcom/chatter/group.rb', line 35 def members @members ||= members! end |
#members! ⇒ Object
Get a Collection of GroupMembership objects for this Group. Always makes a call to the server.
30 31 32 |
# File 'lib/databasedotcom/chatter/group.rb', line 30 def members! self.class.members(self.client, self.id) end |