class Archlinux::PackageClass

Public Class Methods

packages(*repos) click to toggle source
# File lib/aur/packages.rb, line 7
def self.packages(*repos)
        pkgs=PackageList.new
        repos.each do |repo|
                npkg=case repo
                when "@db"
                        Archlinux.config.db.packages
                when "@dbdir"
                        Archlinux.config.db.dir_packages
                when ":local"
                        LocalRepo.new.packages
                when /^@get/, /^@rget/
                        new=Archlinux.config.install_list
                        m=repo.match(/^@r?get\((.*)\)/)
                        l=m[1].split(',')
                        #require 'pry'; binding.pry
                        if repo =~ /^@rget/
                                new.rget(*l)
                        else
                                new.get(*l)
                        end
                        new
                else
                        if (m=repo.match(/^:(.*)\Z/))
                                Repo.new(m[1]).packages
                        else
                                path=Pathname.new(repo)
                                if path.file?
                                        PackageFiles.new(path).packages
                                elsif path.directory?
                                        PackageFiles.from_dir(path).packages
                                end
                        end
                end
                if npkg.nil?
                        SH.logger.warn "Unknown repo #{repo}"
                else
                        pkgs.merge(npkg)
                end
        end
        pkgs
end
packages_list(*repos) click to toggle source
# File lib/aur/packages.rb, line 49
def self.packages_list(*repos)
        if repos.length == 2
                pkg1=packages(*repos[0])
                pkg2=packages(*repos[1])
        else
                i=repos.index('::')
                unless i
                        SH.logger.warn "Only one list given"
                        i=0
                end
                pkg1=packages(*repos[0...i])
                pkg2=packages(*repos[i+1..-1])
        end
        return pkg1, pkg2
end