Class: RocketChat::Messages::Room
- Inherits:
-
Object
- Object
- RocketChat::Messages::Room
- Includes:
- RoomSupport, UserSupport
- Defined in:
- lib/rocket_chat/messages/room.rb
Overview
Rocket.Chat Room messages template (groups&channels)
Class Method Summary collapse
-
.api_path(method) ⇒ Object
Full API path to call.
- .inherited(subclass) ⇒ Object
Instance Method Summary collapse
-
#add_all(room_id: nil, name: nil, active_users_only: false) ⇒ Boolean
*.addAll REST API.
-
#add_moderator(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.add_moderator REST API.
-
#add_owner(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.add_owner REST API.
-
#archive(room_id: nil, name: nil) ⇒ Boolean
*.archive REST API.
-
#create(name, options = {}) ⇒ Room
*.create REST API.
-
#delete(room_id: nil, name: nil) ⇒ Boolean
*.delete REST API.
-
#info(room_id: nil, name: nil) ⇒ Room
*.info REST API.
-
#initialize(session) ⇒ Room
constructor
A new instance of Room.
-
#invite(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.invite REST API.
-
#kick(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.kick REST API.
-
#leave(room_id: nil, name: nil) ⇒ Boolean
*.leave REST API.
-
#remove_moderator(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.remove_moderator REST API.
-
#remove_owner(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.remove_owner REST API.
-
#rename(room_id, new_name) ⇒ Boolean
*.rename REST API.
-
#set_attr(room_id: nil, name: nil, **setting) ⇒ Boolean
.set REST API.
-
#unarchive(room_id: nil, name: nil) ⇒ Boolean
*.unarchive REST API.
Methods included from UserSupport
Methods included from RoomSupport
Constructor Details
#initialize(session) ⇒ Room
Returns a new instance of Room.
20 21 22 |
# File 'lib/rocket_chat/messages/room.rb', line 20 def initialize(session) @session = session end |
Class Method Details
.api_path(method) ⇒ Object
Full API path to call
25 26 27 |
# File 'lib/rocket_chat/messages/room.rb', line 25 def self.api_path(method) "/api/v1/#{collection}.#{method}" end |
.inherited(subclass) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/rocket_chat/messages/room.rb', line 10 def self.inherited(subclass) field = subclass.name.split('::')[-1].downcase collection = field + 's' subclass.send(:define_singleton_method, :field) { field } subclass.send(:define_singleton_method, :collection) { collection } end |
Instance Method Details
#add_all(room_id: nil, name: nil, active_users_only: false) ⇒ Boolean
*.addAll REST API
71 72 73 74 75 76 77 78 |
# File 'lib/rocket_chat/messages/room.rb', line 71 def add_all(room_id: nil, name: nil, active_users_only: false) session.request_json( self.class.api_path('addAll'), method: :post, body: room_params(room_id, name) .merge(activeUsersOnly: active_users_only) )['success'] end |
#add_moderator(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.add_moderator REST API
125 126 127 128 129 130 131 132 |
# File 'lib/rocket_chat/messages/room.rb', line 125 def add_moderator(room_id: nil, name: nil, user_id: nil, username: nil) session.request_json( self.class.api_path('addModerator'), method: :post, body: room_params(room_id, name) .merge(user_params(user_id, username)) )['success'] end |
#add_owner(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.add_owner REST API
89 90 91 92 93 94 95 96 |
# File 'lib/rocket_chat/messages/room.rb', line 89 def add_owner(room_id: nil, name: nil, user_id: nil, username: nil) session.request_json( self.class.api_path('addOwner'), method: :post, body: room_params(room_id, name) .merge(user_params(user_id, username)) )['success'] end |
#archive(room_id: nil, name: nil) ⇒ Boolean
*.archive REST API
212 213 214 215 216 217 218 |
# File 'lib/rocket_chat/messages/room.rb', line 212 def archive(room_id: nil, name: nil) session.request_json( self.class.api_path('archive'), method: :post, body: room_params(room_id, name) )['success'] end |
#create(name, options = {}) ⇒ Room
*.create REST API
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rocket_chat/messages/room.rb', line 36 def create(name, = {}) response = session.request_json( self.class.api_path('create'), method: :post, body: { name: name }.merge(room_option_hash()) ) RocketChat::Room.new response[self.class.field] end |
#delete(room_id: nil, name: nil) ⇒ Boolean
*.delete REST API
54 55 56 57 58 59 60 61 |
# File 'lib/rocket_chat/messages/room.rb', line 54 def delete(room_id: nil, name: nil) session.request_json( self.class.api_path('delete'), method: :post, body: room_params(room_id, name), upstreamed_errors: ['error-room-not-found'] )['success'] end |
#info(room_id: nil, name: nil) ⇒ Room
*.info REST API
159 160 161 162 163 164 165 166 167 |
# File 'lib/rocket_chat/messages/room.rb', line 159 def info(room_id: nil, name: nil) response = session.request_json( self.class.api_path('info'), body: room_params(room_id, name), upstreamed_errors: ['error-room-not-found'] ) RocketChat::Room.new response[self.class.field] if response['success'] end |
#invite(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.invite REST API
178 179 180 181 182 183 184 185 |
# File 'lib/rocket_chat/messages/room.rb', line 178 def invite(room_id: nil, name: nil, user_id: nil, username: nil) session.request_json( self.class.api_path('invite'), method: :post, body: room_params(room_id, name) .merge(user_params(user_id, username)) )['success'] end |
#kick(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.kick REST API
196 197 198 199 200 201 202 203 |
# File 'lib/rocket_chat/messages/room.rb', line 196 def kick(room_id: nil, name: nil, user_id: nil, username: nil) session.request_json( self.class.api_path('kick'), method: :post, body: room_params(room_id, name) .merge(user_params(user_id, username)) )['success'] end |
#leave(room_id: nil, name: nil) ⇒ Boolean
*.leave REST API
242 243 244 245 246 247 248 |
# File 'lib/rocket_chat/messages/room.rb', line 242 def leave(room_id: nil, name: nil) session.request_json( self.class.api_path('leave'), method: :post, body: room_params(room_id, name) )['success'] end |
#remove_moderator(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.remove_moderator REST API
143 144 145 146 147 148 149 150 |
# File 'lib/rocket_chat/messages/room.rb', line 143 def remove_moderator(room_id: nil, name: nil, user_id: nil, username: nil) session.request_json( self.class.api_path('removeModerator'), method: :post, body: room_params(room_id, name) .merge(user_params(user_id, username)) )['success'] end |
#remove_owner(room_id: nil, name: nil, user_id: nil, username: nil) ⇒ Boolean
*.remove_owner REST API
107 108 109 110 111 112 113 114 |
# File 'lib/rocket_chat/messages/room.rb', line 107 def remove_owner(room_id: nil, name: nil, user_id: nil, username: nil) session.request_json( self.class.api_path('removeOwner'), method: :post, body: room_params(room_id, name) .merge(user_params(user_id, username)) )['success'] end |
#rename(room_id, new_name) ⇒ Boolean
*.rename REST API
257 258 259 260 261 262 263 |
# File 'lib/rocket_chat/messages/room.rb', line 257 def rename(room_id, new_name) session.request_json( self.class.api_path('rename'), method: :post, body: { roomId: room_id, name: new_name } )['success'] end |
#set_attr(room_id: nil, name: nil, **setting) ⇒ Boolean
.set REST API
273 274 275 276 277 278 279 280 281 282 |
# File 'lib/rocket_chat/messages/room.rb', line 273 def set_attr(room_id: nil, name: nil, **setting) attribute, value = setting.first validate_attribute(attribute) session.request_json( self.class.api_path(Util.camelize("set_#{attribute}")), method: :post, body: room_params(room_id, name) .merge(Util.camelize(attribute) => value) )['success'] end |
#unarchive(room_id: nil, name: nil) ⇒ Boolean
*.unarchive REST API
227 228 229 230 231 232 233 |
# File 'lib/rocket_chat/messages/room.rb', line 227 def unarchive(room_id: nil, name: nil) session.request_json( self.class.api_path('unarchive'), method: :post, body: room_params(room_id, name) )['success'] end |