2020-10-10 14:16:11 +02:00
|
|
|
# typed: false
|
2020-07-30 22:58:30 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-09-23 03:43:54 +02:00
|
|
|
require "context"
|
|
|
|
|
2020-08-26 09:14:02 +02:00
|
|
|
# Helper module for parsing output of `brew livecheck`.
|
|
|
|
#
|
|
|
|
# @api private
|
2020-07-30 22:58:30 +00:00
|
|
|
module LivecheckFormula
|
2020-09-23 03:43:54 +02:00
|
|
|
extend Context
|
|
|
|
|
2020-07-30 22:58:30 +00:00
|
|
|
module_function
|
|
|
|
|
|
|
|
def init(formula)
|
2020-09-23 03:43:54 +02:00
|
|
|
ohai "Checking livecheck formula: #{formula}" if verbose?
|
2020-07-30 22:58:30 +00:00
|
|
|
|
|
|
|
response = Utils.popen_read(HOMEBREW_BREW_FILE, "livecheck", formula, "--quiet").chomp
|
|
|
|
|
|
|
|
parse_livecheck_response(response)
|
|
|
|
end
|
|
|
|
|
|
|
|
def parse_livecheck_response(response)
|
|
|
|
# e.g response => aacgain : 7834 ==> 1.8
|
|
|
|
output = response.delete(" ").split(/:|==>/)
|
|
|
|
|
|
|
|
# e.g. ["openclonk", "7.0", "8.1"]
|
|
|
|
package_name, brew_version, latest_version = output
|
|
|
|
|
|
|
|
{
|
|
|
|
name: package_name,
|
|
|
|
formula_version: brew_version,
|
|
|
|
livecheck_version: latest_version,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|