Class: RocketChat::Messages::Im
- Inherits:
-
Object
- Object
- RocketChat::Messages::Im
- Includes:
- ListSupport
- Defined in:
- lib/rocket_chat/messages/im.rb
Overview
Rocket.Chat Direct messages
Instance Method Summary collapse
-
#counters(room_id:, user_id: nil) ⇒ RocketChat::ImSummary
im.counters REST API.
-
#create(username: nil, usernames: nil, exclude_self: false) ⇒ RocketChat::Room
im.create REST API.
-
#delete(room_id: nil) ⇒ Boolean
im.delete REST API.
-
#initialize(session) ⇒ Im
constructor
A new instance of Im.
-
#list_everyone(offset: nil, count: nil, sort: nil, fields: nil, query: nil) ⇒ Room[]
im.list.everyone REST API.
Constructor Details
#initialize(session) ⇒ Im
Returns a new instance of Im.
14 15 16 |
# File 'lib/rocket_chat/messages/im.rb', line 14 def initialize(session) @session = session end |
Instance Method Details
#counters(room_id:, user_id: nil) ⇒ RocketChat::ImSummary
im.counters REST API
85 86 87 88 89 90 91 92 93 94 |
# File 'lib/rocket_chat/messages/im.rb', line 85 def counters(room_id:, user_id: nil) response = session.request_json( '/api/v1/im.counters', body: { roomId: room_id, userId: user_id } ) RocketChat::ImSummary.new response end |
#create(username: nil, usernames: nil, exclude_self: false) ⇒ RocketChat::Room
im.create REST API
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/rocket_chat/messages/im.rb', line 26 def create(username: nil, usernames: nil, exclude_self: false) params = if exclude_self { usernames: usernames.join(','), excludeSelf: true } elsif usernames { usernames: usernames.join(',') } else { username: username } end response = session.request_json( '/api/v1/im.create', method: :post, body: params ) RocketChat::Room.new response['room'] end |
#delete(room_id: nil) ⇒ Boolean
im.delete REST API
50 51 52 53 54 55 56 57 |
# File 'lib/rocket_chat/messages/im.rb', line 50 def delete(room_id: nil) session.request_json( '/api/v1/im.delete', method: :post, body: { roomId: room_id }, upstreamed_errors: ['error-room-not-found'] )['success'] end |
#list_everyone(offset: nil, count: nil, sort: nil, fields: nil, query: nil) ⇒ Room[]
im.list.everyone REST API
69 70 71 72 73 74 75 76 |
# File 'lib/rocket_chat/messages/im.rb', line 69 def list_everyone(offset: nil, count: nil, sort: nil, fields: nil, query: nil) response = session.request_json( '/api/v1/im.list.everyone', body: build_list_body(offset, count, sort, fields, query) ) response['ims'].map { |hash| RocketChat::Room.new hash } if response['success'] end |