Sha256: 650df12be4bf3666b390b42b31c8df706566d91b7cc5d744e1186533dfac1dd8

Contents?: true

Size: 1.15 KB

Versions: 13

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module RocketChat
  #
  # Rocket.Chat Server
  #
  class Server
    include RocketChat::RequestHelper

    # Server options
    attr_reader :options

    #
    # @param [URI, String] server Server URI
    # @param [Hash] options Server options
    #
    def initialize(server, options = {})
      self.server = server
      @options = options
    end

    #
    # Info REST API
    # @return [Info] Rocket.Chat Info
    # @raise [HTTPError, StatusError]
    #
    def info
      response = request_json '/api/v1/info', fail_unless_ok: true
      Info.new response['info']
    end

    #
    # Login REST API
    # @param [String] username Username
    # @param [String] password Password
    # @return [Session] Rocket.Chat Session
    # @raise [HTTPError, StatusError]
    #
    def login(username, password)
      response = request_json(
        '/api/v1/login',
        method: :post,
        body: {
          username: username,
          password: password
        }
      )
      Session.new self, Token.new(response['data'])
    end

    def request_json(path, options = {})
      super(path, @options.merge(options))
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rocketchat-0.3.1 lib/rocket_chat/server.rb
rocketchat-0.2.7 lib/rocket_chat/server.rb
rocketchat-0.2.6 lib/rocket_chat/server.rb
rocketchat-0.2.5 lib/rocket_chat/server.rb
rocketchat-0.2.4 lib/rocket_chat/server.rb
rocketchat-0.2.3 lib/rocket_chat/server.rb
rocketchat-0.2.2 lib/rocket_chat/server.rb
rocketchat-0.2.1 lib/rocket_chat/server.rb
rocketchat-0.1.23 lib/rocket_chat/server.rb
rocketchat-0.1.22 lib/rocket_chat/server.rb
rocketchat-0.1.21 lib/rocket_chat/server.rb
rocketchat-0.1.20 lib/rocket_chat/server.rb
rocketchat-0.1.19 lib/rocket_chat/server.rb