class Archlinux::AurCache

cache aur queries

Public Class Methods

new(*args, **kw) click to toggle source
Calls superclass method Archlinux::InstallPackageList::new
# File lib/aur/install_packages.rb, line 41
def initialize(*args, **kw)
        super
        @ext_query=method(:ext_query)
        #@query_ignore=AurPackageList.official
        if @config[:aur_url]==GlobalAurCache.config[:aur_url]
                @klass=GlobalAurCache
        else
                @klass=AurQueryCustom.new(config: @config)
        end
end

Public Instance Methods

ext_query(*queries, **_opts) click to toggle source
# File lib/aur/install_packages.rb, line 52
def ext_query(*queries, **_opts)
        pkgs=queries.map {|p| Query.strip(p)}
        # in a query like foo>1000, even if foo exist and was queried,
        # the query fails so it gets called in ext_query
        # remove these packages
        # TODO: do the same for a provides query
        pkgs-=self.names
        if pkgs.empty?
                l=self.class.new([])
        else
                SH.logger.debug "! #{self.class}: Calling aur for infos on: #{pkgs.join(', ')}"
                l=@klass.packages(*pkgs)
                @query_ignore += pkgs - l.names #these don't exist in aur
        end
        r=l.resolve(*queries, ext_query: false, fallback: false)
        return r, l
end