class PackageReport::Package
Attributes
changelog[RW]
current_version[RW]
latest_version[RW]
name[RW]
Public Class Methods
from_apt_line(line)
click to toggle source
# File lib/package_report/package.rb, line 15 def self.from_apt_line(line) parts = line.split name = parts[1] current_version = parts[2].gsub(/\[|\]/, "") latest_version = parts[3].gsub(/\(/, "") self.new name, current_version, latest_version end
new(package_name = nil, current_version = nil, latest_version = nil)
click to toggle source
# File lib/package_report/package.rb, line 5 def initialize(package_name = nil, current_version = nil, latest_version = nil) @name = package_name @current_version = current_version @latest_version = latest_version # get installed version # get latest version # get changelog end
Public Instance Methods
changelog_parts()
click to toggle source
# File lib/package_report/package.rb, line 45 def changelog_parts parts = [] raw_changelog.each_line do |line| if line =~ /^\S/ parts << line else parts.last << line end end parts end
fetch_version!()
click to toggle source
# File lib/package_report/package.rb, line 24 def fetch_version! @current_version = raw_installed_version.split[1] end
newer_changes()
click to toggle source
# File lib/package_report/package.rb, line 28 def newer_changes found = false newer = [] changelog_parts.each do |part| if part.match(@current_version) found = true end next if found newer << part end newer.delete_at(0) newer end
Private Instance Methods
raw_changelog()
click to toggle source
# File lib/package_report/package.rb, line 63 def raw_changelog `aptitude changelog #{@name}` end
raw_installed_version()
click to toggle source
# File lib/package_report/package.rb, line 59 def raw_installed_version `\dpkg -s #{@name} | \grep '^Version'` end