package/src/package/configuration.cr

30 lines
553 B
Crystal

require "specparser"
class Package::Configuration
PATH_FROM_ROOT = "/etc/package.cfg"
getter file_path : String?
getter repositories = Array(Repository).new
getter cache_directory = "/var/cache/package"
def initialize
end
def initialize(@file_path : String)
specs = SpecParser.parse File.read @file_path.not_nil!
specs.sections.each do |section|
case section.name
when "repository"
@repositories << Repository.new(
File.read("#{section.options[0]}/repository.spec"),
section.options[0]
)
end
end
end
end