class Lita::Handlers::Info

Provides information about the currently running robot.

Public Instance Methods

chat(response) click to toggle source

Replies with the current version of Lita, the current version of Redis, and Redis memory usage. @param response [Lita::Response] The response object. @return [void] @since 3.0.0

# File lib/lita/handlers/info.rb, line 17
def chat(response)
  response.reply(
    %(Lita #{Lita::VERSION} - https://www.lita.io/),
    %(Redis #{redis_version} - Memory used: #{redis_memory_usage})
  )
end
redis_info() click to toggle source

A hash of information about Redis.

# File lib/lita/handlers/info.rb, line 42
def redis_info
  @redis_info ||= begin
    r = redis.redis
    r = r.redis while r.respond_to?(:redis)
    r.info
  end
end
redis_memory_usage() click to toggle source

The amount of memory Redis is using.

# File lib/lita/handlers/info.rb, line 56
def redis_memory_usage
  redis_info["used_memory_human"]
end
redis_version() click to toggle source

The current version of Redis.

# File lib/lita/handlers/info.rb, line 51
def redis_version
  redis_info["redis_version"]
end
web(_request, response) click to toggle source

Returns JSON with basic information about the robot. @param _request [Rack::Request] The HTTP request. @param response [Rack::Response] The HTTP response. @return [void]

# File lib/lita/handlers/info.rb, line 28
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