class MsPac::PackageManager

Attributes

mspac[R]
pkgmgr[R]

Public Class Methods

new(mspac) click to toggle source
# File lib/mspac/package_manager.rb, line 14
def initialize(mspac)
    @mspac = mspac

    if (ScoobyDoo.where_are_you("apt-get"))
        @pkgmgr = "apt-get"
    elsif (ScoobyDoo.where_are_you("brew"))
        raise MsPac::Error::UnsupportedPackageManager.new(
            "brew"
        )
    elsif (ScoobyDoo.where_are_you("pacman"))
        @pkgmgr = "pacman"
    elsif (ScoobyDoo.where_are_you("yum"))
        raise MsPac::Error::UnsupportedPackageManager.new(
            "yum"
        )
    elsif (ScoobyDoo.where_are_you("zipper"))
        raise MsPac::Error::UnsupportedPackageManager.new(
            "zipper"
        )
    else
        raise MsPac::Error::UnsupportedPackageManager.new
    end
end

Public Instance Methods

alt_install(packages, pkgmgr = @pkgmgr) click to toggle source
# File lib/mspac/package_manager.rb, line 7
def alt_install(packages, pkgmgr = @pkgmgr)
    return if (packages.nil?)
    packages.each do |pkg|
        pkgmgr_install(pkg, pkgmgr)
    end
end
install(packages, pkgmgr = @pkgmgr) click to toggle source
# File lib/mspac/package_manager.rb, line 38
def install(packages, pkgmgr = @pkgmgr)
    return if (packages.nil?)
    pkgmgr_install(packages.join(" "), pkgmgr)
end

Private Instance Methods

pkgmgr_install(pkgs, pkgmgr = @pkgmgr) click to toggle source
# File lib/mspac/package_manager.rb, line 43
def pkgmgr_install(pkgs, pkgmgr = @pkgmgr)
    return if (pkgs.nil? || pkgs.empty?)
    case pkgmgr
    when "apt-get"
        system("sudo apt-get install -y #{pkgs}")
    when "brew"
        raise MsPac::Error::UnsupportedPackageManager.new(
            "brew"
        )
    when "mspac"
        @mspac.install(pkgs.split(" "))
    when "pacman"
        system("sudo pacman --needed --noconfirm -S #{pkgs}")
    when "perl"
        system("umask 022 && sudo cpan #{pkgs}")
    when "python2"
        system("umask 022 && sudo python2 -m pip install #{pkgs}")
    when "python3"
        system("umask 022 && sudo python3 -m pip install #{pkgs}")
    when "yum"
        raise MsPac::Error::UnsupportedPackageManager.new(
            "yum"
        )
    when "zipper"
        raise MsPac::Error::UnsupportedPackageManager.new(
            "zipper"
        )
    else
        raise MsPac::Error::UnsupportedPackageManager.new
    end
end