Ctrl K
ComunidadGuías…

lib/cachet.rb

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
class Cachet
  class ApiError < StandardError; end

  def self.user(slack_uid)
    response = HTTP.timeout(10)
      .get("https://cachet.hackclub.com/users/#{ERB::Util.url_encode(slack_uid)}")

    # Cache misses return placeholder data while Cachet fetches the profile.
    return nil if response.status.code == 202
    raise ApiError, "Cachet user API request failed: HTTP #{response.status.code}" unless response.status.code == 200

    JSON.parse(response.body.to_s)
  end
end