Sha256: a7597d64ef548276f3418862eed40d55f60f19c967e348b557b5fdd11baba84a

Contents?: true

Size: 964 Bytes

Versions: 10

Compression:

Stored size: 964 Bytes

Contents

# LinuxAdmin Deb Representation
#
# Copyright (C) 2013 Red Hat Inc.
# Licensed under the MIT License

class LinuxAdmin
  class Deb < Package
    APT_CACHE_CMD = '/usr/bin/apt-cache'

    def self.from_line(apt_cache_line, in_description=false)
      tag,value = apt_cache_line.split(':')
      tag = tag.strip.downcase
      [tag, value]
    end

    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

    def self.info(pkg)
      self.from_string(run!(APT_CACHE_CMD, :params => ["show", pkg]).output)
    end

  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
linux_admin-0.8.1 lib/linux_admin/deb.rb
linux_admin-0.8.0 lib/linux_admin/deb.rb
linux_admin-0.7.0 lib/linux_admin/deb.rb
linux_admin-0.6.0 lib/linux_admin/deb.rb
linux_admin-0.5.7 lib/linux_admin/deb.rb
linux_admin-0.5.6 lib/linux_admin/deb.rb
linux_admin-0.5.5 lib/linux_admin/deb.rb
linux_admin-0.5.4 lib/linux_admin/deb.rb
linux_admin-0.5.3 lib/linux_admin/deb.rb
linux_admin-0.5.2 lib/linux_admin/deb.rb