require_relative "runner" class RepoManager attr :path, :error, :last_status, :last_pid def initialize(path) @error = nil unless File.exist? (path) Dir.mkdir(path) end @path = path end def create_repo repo_path = File.join(@path, "repodata") cmd_args = %Q(/usr/bin/createrepo_c --database --workers 1 "#{@path}") if File.exist?(repo_path) cmd_args = %Q(/usr/bin/createrepo_c --database --workers 1 --update "#{@path}") end cmd = Runner.new(cmd_args) cmd.run @last_status = cmd.exit_status @last_pid = cmd.pid end end