package/src/package/repository.cr

36 lines
665 B
Crystal

require "specparser"
require "./exception.cr"
class Package::Package
def initialize(section : SpecParser::Section)
@file_name, @name, @version, release, @slot = section.options[0].split " "
@release = release.to_i
section.content.each do |key, value|
case key
when "dependencies"
@dependencies = value.as_a_or_s
end
end
end
end
class Package::Repository < Array(Package::Package)
getter url : String
def initialize(index_body : String, @url)
initialize
specs = SpecParser.parse index_body
specs.sections.each do |section|
case section.name
when "package"
self << ::Package::Package.new section
end
end
end
end