lib/slack_username.rb
Rama main · réplica de lectura del repositorio original.
class SlackUsername
def self.find_by_uid(uid)
key = "slack_username_#{uid}"
cached_name = Rails.cache.fetch(key, expires_in: 1.day) do
data = Cachet.user(uid)
data && (data["displayName"].presence || data["realName"].presence)
end
Rails.cache.delete(key) unless cached_name.present?
cached_name
rescue Cachet::ApiError, HTTP::TimeoutError, HTTP::ConnectionError, JSON::ParserError => e
Rails.logger.warn("Cachet name lookup failed for #{uid}: #{e.message}")
nil
end
end