diff --git a/Casks/devcleaner.rb b/Casks/devcleaner.rb index 0b1831e115..58a3b7c563 100644 --- a/Casks/devcleaner.rb +++ b/Casks/devcleaner.rb @@ -10,6 +10,19 @@ cask "devcleaner" do livecheck do url "https://github.com/vashpan/xcode-dev-cleaner/releases/latest" regex(/DevCleaner[._-]v?(\d+(?:[.-]\d+)+)\.zip/i) + strategy :header_match do |headers, regex| + next if headers["location"].blank? + + # Identify the latest tag from the response's `location` header + latest_tag = File.basename(headers["location"]) + next if latest_tag.blank? + + # Fetch the assets list HTML for the latest tag and match within it + assets_page = Homebrew::Livecheck::Strategy.page_content( + @url.sub(%r{/releases/?.+}, "/releases/expanded_assets/#{latest_tag}"), + ) + assets_page[:content]&.scan(regex)&.map { |match| match[0] } + end end app "DevCleaner.app"