Parse package from the info file
This commit is contained in:
parent
f564676cb6
commit
341eafcbf2
@ -21,6 +21,32 @@ class Package
|
|||||||
def name_version
|
def name_version
|
||||||
"#{name}-#{@version}"
|
"#{name}-#{@version}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.parse(path, info_contents)
|
||||||
|
current_line = String.new ''
|
||||||
|
variables = {}
|
||||||
|
|
||||||
|
info_contents.each_line(chomp: true) do |file_line|
|
||||||
|
current_line << file_line.delete_suffix('\\')
|
||||||
|
next if file_line.end_with? '\\'
|
||||||
|
|
||||||
|
variables.store(*parse_pair(current_line))
|
||||||
|
current_line.clear
|
||||||
|
end
|
||||||
|
from_hash path, variables
|
||||||
|
end
|
||||||
|
|
||||||
|
private_class_method def self.parse_pair(current_line)
|
||||||
|
variable_name, variable_value = current_line.split '='
|
||||||
|
[variable_name, variable_value[1...-1].split]
|
||||||
|
end
|
||||||
|
|
||||||
|
private_class_method def self.from_hash(path, variables)
|
||||||
|
Package.new path,
|
||||||
|
version: variables['VERSION'].join,
|
||||||
|
homepage: variables['HOMEPAGE'].join,
|
||||||
|
requires: variables['REQUIRES']
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class Download
|
class Download
|
||||||
|
Loading…
Reference in New Issue
Block a user