class SlackRubyBot::Hooks::Hello

Attributes

connected_at[RW]
logger[RW]

Public Class Methods

new(logger) click to toggle source
# File lib/slack-ruby-bot/hooks/hello.rb, line 8
def initialize(logger)
  self.logger = logger
end

Public Instance Methods

call(client, _data) click to toggle source
# File lib/slack-ruby-bot/hooks/hello.rb, line 12
def call(client, _data)
  return unless client&.team

  new_connected_at = Process.clock_gettime(Process::CLOCK_MONOTONIC)
  log = [
    'Successfully',
    connected_at ? 'reconnected' : 'connected',
    "team #{client.team.name} (#{client.team.id}) to https://#{client.team.domain}.slack.com",
    connected_at ? "after #{last_connection_till(new_connected_at)}s" : nil
  ].compact.join(' ') + '.'

  logger.info log

  self.connected_at = new_connected_at
end

Private Instance Methods

last_connection_till(time) click to toggle source
# File lib/slack-ruby-bot/hooks/hello.rb, line 30
def last_connection_till(time)
  (time - connected_at).round(2)
end