Class: RocketChat::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/rocket_chat/session.rb

Overview

Rocket.Chat Session

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server, token) ⇒ Session

Returns a new instance of Session.

Parameters:

  • server (Server)

    Server

  • token (Token)

    Session token



17
18
19
20
# File 'lib/rocket_chat/session.rb', line 17

def initialize(server, token)
  @server = server
  @token = token.dup.freeze
end

Instance Attribute Details

#serverObject (readonly)

Server



9
10
11
# File 'lib/rocket_chat/session.rb', line 9

def server
  @server
end

#tokenObject (readonly)

Session token



11
12
13
# File 'lib/rocket_chat/session.rb', line 11

def token
  @token
end

Instance Method Details

#channelsObject

Message proxies



47
48
49
# File 'lib/rocket_chat/session.rb', line 47

def channels
  @channels ||= RocketChat::Messages::Channel.new(self)
end

#chatObject



59
60
61
# File 'lib/rocket_chat/session.rb', line 59

def chat
  @chat ||= RocketChat::Messages::Chat.new(self)
end

#groupsObject



51
52
53
# File 'lib/rocket_chat/session.rb', line 51

def groups
  @groups ||= RocketChat::Messages::Group.new(self)
end

#imObject



63
64
65
# File 'lib/rocket_chat/session.rb', line 63

def im
  @im ||= RocketChat::Messages::Im.new(self)
end

#logoutNilClass

logout REST API

Returns:

  • (NilClass)

Raises:



31
32
33
34
# File 'lib/rocket_chat/session.rb', line 31

def logout
  request_json('/api/v1/logout', method: :post)
  nil
end

#meUser

me REST API

Returns:

Raises:



41
42
43
# File 'lib/rocket_chat/session.rb', line 41

def me
  User.new request_json('/api/v1/me', method: :get)
end

#request_json(path, options = {}) ⇒ Object



22
23
24
# File 'lib/rocket_chat/session.rb', line 22

def request_json(path, options = {})
  server.request_json path, options.merge(token: token)
end

#settingsMessages::Settings

Settings messages proxy

Returns:



71
72
73
# File 'lib/rocket_chat/session.rb', line 71

def settings
  @settings ||= RocketChat::Messages::Settings.new(self)
end

#usersObject



55
56
57
# File 'lib/rocket_chat/session.rb', line 55

def users
  @users ||= RocketChat::Messages::User.new(self)
end