Class: Lita::Handlers::Info

Inherits:
Object
  • Object
show all
Extended by:
Handler::ChatRouter, Handler::HTTPRouter
Defined in:
lib/lita/handlers/info.rb

Overview

Provides information about the currently running robot.

Instance Method Summary collapse

Instance Method Details

#chat(response) ⇒ void

This method returns an undefined value.

Replies with the current version of Lita, the current version of Redis, and Redis memory usage.

Parameters:

  • response (Response)

    The response object.

Since:

  • 3.0.0



20
21
22
23
24
25
# File 'lib/lita/handlers/info.rb', line 20

def chat(response)
  response.reply(
    %(Lita #{Lita::VERSION} - https://www.lita.io/),
    %(Redis #{redis_version} - Memory used: #{redis_memory_usage})
  )
end

#redis_infoObject

A hash of information about Redis.



45
46
47
# File 'lib/lita/handlers/info.rb', line 45

def redis_info
  @redis_info ||= redis.info
end

#redis_memory_usageObject

The amount of memory Redis is using.



55
56
57
# File 'lib/lita/handlers/info.rb', line 55

def redis_memory_usage
  redis_info["used_memory_human"]
end

#redis_versionObject

The current version of Redis.



50
51
52
# File 'lib/lita/handlers/info.rb', line 50

def redis_version
  redis_info["redis_version"]
end

#web(_request, response) ⇒ void

This method returns an undefined value.

Returns JSON with basic information about the robot.

Parameters:

  • _request (Rack::Request)

    The HTTP request.

  • response (Rack::Response)

    The HTTP response.



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/lita/handlers/info.rb', line 31

def web(_request, response)
  response.headers["Content-Type"] = "application/json"
  json = MultiJson.dump(
    adapter: robot.config.robot.adapter,
    lita_version: Lita::VERSION,
    redis_memory_usage: redis_memory_usage,
    redis_version: redis_version,
    robot_mention_name: robot.mention_name,
    robot_name: robot.name
  )
  response.write(json)
end