homebrew-cask/Casks/sqlight.rb

37 lines
1.5 KiB
Ruby

cask "sqlight" do
version "3.0.0.0"
sha256 "3ffa14419fced3f864f9ff2472987c8bc3e5743c9f960ffe52245e3bb0d401f2"
url "https://www.aurvan.com/com-aurvan-satva-ui-reactjs-dossier/sqlight-v#{version.dots_to_underscores}-app.dmg"
name "SQLight"
desc "Database management tool"
homepage "https://www.aurvan.com/sqlight/"
# The download page is rendered using JavaScript with the download links obtained
# from https://www.aurvan.com/com-aurvan-satva-ui-reactjs-release/static/js/main.<hash>.chunk.js
# Since the <hash> is not fixed in the filename, the current JavaScript file
# needs to be extracted from the download page.
livecheck do
url "https://www.aurvan.com/sqlight/"
regex(/sqlight[._-]v?(\d+(?:[._]\d+)+)-app\.dmg/i)
strategy :page_match do |page, regex|
js_file = page[%r{src=["']?(/com-aurvan-satva-ui-reactjs-release/static/js/main\.\w+\.chunk\.js)["' >]}i, 1]
next [] if js_file.blank?
js_file_data = Homebrew::Livecheck::Strategy.page_content("https://www.aurvan.com/#{js_file}")
next [] if js_file_data[:content].blank?
js_file_data[:content].scan(regex).map { |match| match&.first&.gsub("_", ".") }
end
end
app "SQLight.app"
zap trash: [
"~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.aurvan.sqlight.macosx.sfl*",
"~/Library/Caches/com.aurvan.sqlight.macosx",
"~/Library/Preferences/com.aurvan.sqlight.macosx.plist",
"~/Library/Saved Application State/com.aurvan.sqlight.macosx.savedState",
]
end