Module: Easemob::Groups

Included in:
Easemob
Defined in:
lib/easemob/groups.rb

Instance Method Summary collapse

Instance Method Details

#add_to_group_block(group_id, to_block_usernames:) ⇒ Object



66
67
68
# File 'lib/easemob/groups.rb', line 66

def add_to_group_block(group_id, to_block_usernames:)
  GroupMessage.new request :post, "chatgroups/#{group_id}/blocks/users", json: { usernames: [*to_block_usernames] }
end

#create_group(groupname, description, owner, members: nil, is_public: true, maxusers: 200, is_approval: false) ⇒ Object



4
5
6
7
8
# File 'lib/easemob/groups.rb', line 4

def create_group(groupname, description, owner, members: nil, is_public: true, maxusers: 200, is_approval: false)
  jd = { groupname: groupname, desc: description, public: is_public, owner: owner, users: maxusers, approval: is_approval }
  jd[:members] = members unless members.nil?
  GroupMessage.new request :post, 'chatgroups', json: jd
end

#delete_group(group_id) ⇒ Object



32
33
34
# File 'lib/easemob/groups.rb', line 32

def delete_group(group_id)
  GroupMessage.new request :delete, "chatgroups/#{group_id}"
end

#get_groups(group_ids) ⇒ Object



10
11
12
# File 'lib/easemob/groups.rb', line 10

def get_groups(group_ids)
  GroupMessage.new request :get, "chatgroups/#{[*group_ids].join(',')}"
end

#group_add_users(group_id, usernames:) ⇒ Object



54
55
56
# File 'lib/easemob/groups.rb', line 54

def group_add_users(group_id, usernames:)
  GroupMessage.new request :post, "chatgroups/#{group_id}/users", json: { usernames: [*usernames] }
end

#group_remove_users(group_id, usernames:) ⇒ Object



58
59
60
# File 'lib/easemob/groups.rb', line 58

def group_remove_users(group_id, usernames:)
  GroupMessage.new request :delete, "chatgroups/#{group_id}/users/#{[*usernames].join(',')}"
end

#group_set_owner(group_id, newowner:) ⇒ Object



62
63
64
# File 'lib/easemob/groups.rb', line 62

def group_set_owner(group_id, newowner:)
  GroupMessage.new request :put, "chatgroups/#{group_id}", json: { newowner: newowner }
end

#modify_group(group_id, groupname: nil, description: nil, maxusers: nil, newowner: nil) ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/easemob/groups.rb', line 36

def modify_group(group_id, groupname: nil, description: nil, maxusers: nil, newowner: nil)
  jd = {}
  jd[:groupname] = groupname unless groupname.nil?
  jd[:description] = description unless description.nil?
  jd[:maxusers] = maxusers unless maxusers.nil?
  jd[:newowner] = newowner unless newowner.nil?

  GroupMessage.new request :put, "chatgroups/#{group_id}", json: jd
end

#query_group_blocks(group_id) ⇒ Object



24
25
26
# File 'lib/easemob/groups.rb', line 24

def query_group_blocks(group_id)
  GroupMessage.new request :get, "chatgroups/#{group_id}/blocks/users"
end

#query_group_users(group_id) ⇒ Object



20
21
22
# File 'lib/easemob/groups.rb', line 20

def query_group_users(group_id)
  GroupMessage.new request :get, "chatgroups/#{group_id}/users"
end

#query_groups(limit = 50, cursor: nil) ⇒ Object



14
15
16
17
18
# File 'lib/easemob/groups.rb', line 14

def query_groups(limit = 50, cursor: nil)
  params = { limit: limit }
  params[:cursor] = cursor unless cursor.nil?
  GroupMessage.new request :get, 'chatgroups', params: params
end

#remove_from_group_block(group_id, blocked_usernames:) ⇒ Object



70
71
72
# File 'lib/easemob/groups.rb', line 70

def remove_from_group_block(group_id, blocked_usernames:)
  GroupMessage.new request :delete, "chatgroups/#{group_id}/blocks/users/#{[*blocked_usernames].join(',')}"
end

#user_join_group(group_id, username:) ⇒ Object



46
47
48
# File 'lib/easemob/groups.rb', line 46

def user_join_group(group_id, username:)
  GroupMessage.new request :post, "chatgroups/#{group_id}/users/#{username}"
end

#user_joined_chatgroups(username) ⇒ Object



28
29
30
# File 'lib/easemob/groups.rb', line 28

def user_joined_chatgroups(username)
  GroupMessage.new request :get, "users/#{username}/joined_chatgroups"
end

#user_leave_group(group_id, username:) ⇒ Object



50
51
52
# File 'lib/easemob/groups.rb', line 50

def user_leave_group(group_id, username:)
  GroupMessage.new request :delete, "chatgroups/#{group_id}/users/#{username}"
end