phinze/homebrew-cask

View on GitHub
Casks/f/forkgram-telegram.rb

Summary

Maintainability
A
1 hr
Test Coverage
cask "forkgram-telegram" do
  arch arm: "arm64", intel: "x86"

  version "5.5.1"
  sha256 arm:   "8bc739ad3b706715714c2a5d19c90d2ad2fd125c8d9f66efb4da95c7a511fea6",
         intel: "732d79ba9b8428ad2ba4e982f229050b36e842ac76617992aa2f468ec3d2b013"

  url "https://github.com/Forkgram/tdesktop/releases/download/v#{version}/Forkgram.macOS.no.auto-update_#{arch}.zip"
  name "Forkgram"
  desc "Fork of Telegram Desktop"
  homepage "https://github.com/Forkgram/"

  # Not every GitHub release provides a file for macOS, so we check multiple
  # recent releases instead of only the "latest" release.
  livecheck do
    url :url
    regex(/^v?(\d+(?:\.\d+)+)$/i)
    strategy :github_releases do |json, regex|
      file_regex = /^Forkgram[._-]macOS[._-].*?#{arch}\.zip$/i

      json.map do |release|
        next if release["draft"] || release["prerelease"]
        next unless release["assets"]&.any? { |asset| asset["name"]&.match?(file_regex) }

        match = release["tag_name"].match(regex)
        next if match.blank?

        match[1]
      end
    end
  end

  # Renamed to avoid conflict with telegram
  app "Telegram.app", target: "Forkgram.app"

  zap trash: "~/Library/Application Support/Forkgram Desktop"
end