class LinuxAdmin::Deb

Constants

APT_CACHE_CMD

Public Class Methods

from_line(apt_cache_line, in_description=false) click to toggle source
# File lib/linux_admin/deb.rb, line 5
def self.from_line(apt_cache_line, in_description=false)
  tag,value = apt_cache_line.split(':')
  tag = tag.strip.downcase
  [tag, value]
end
from_string(apt_cache_string) click to toggle source
# File lib/linux_admin/deb.rb, line 11
def self.from_string(apt_cache_string)
  in_description = false
  apt_cache_string.split("\n").each.with_object({}) do |line,deb|
    tag,value = self.from_line(line)
    if tag == 'description-en'
      in_description = true
    elsif tag == 'homepage'
      in_description = false
    end

    if in_description && tag != 'description-en'
      deb['description-en'] << line
    else
      deb[tag] = value.strip
    end
  end
end
info(pkg) click to toggle source
# File lib/linux_admin/deb.rb, line 29
def self.info(pkg)
  from_string(Common.run!(APT_CACHE_CMD, :params => ["show", pkg]).output)
end