lib/slapp/package.rb in slapp-0.1.2 vs lib/slapp/package.rb in slapp-0.1.3
- old
+ new
@@ -1,41 +1,46 @@
class Slapp::Package
include Slapp::Helpers
attr_accessor :data
- def initialize(data)
+ def initialize(data, slackware_version)
@data = data
+ @slackware_version = slackware_version
@name_match = regex('name').match(data)
@location_match = regex('location').match(data)
@size_match = data.scan regex('size')
@description_match = regex('description').match(data)
end
def name
+ @name_match[3]
+ end
+
+ def package_name
@name_match[2]
end
- def filename
+ def file_name
@name_match[1]
end
def version
- @name_match[3]
+ @name_match[4]
end
def arch
- @name_match[4]
+ @name_match[5]
end
def location
@location_match[1]
end
def path
- File.join location, filename
+ File.join "/slackware/slackware-#{@slackware_version}", location, file_name
end
def build
@name_match[5]
end
@@ -74,11 +79,12 @@
.strip
end
def to_hash
{
- filename: filename,
+ file_name: file_name,
+ package_name: package_name,
name: name,
version: version,
arch: arch,
build: build,
size: {
@@ -103,10 +109,10 @@
regexes[type.to_sym]
end
def regexes
{
- name: /PACKAGE NAME:\s+((.+)-(.+)-(.+)-(.+)\.t\wz)/,
+ name: /PACKAGE NAME:\s+(((.+)-(.+)-(.+)-(.+))\.t\wz)/,
location: /PACKAGE LOCATION:\s+\.([\S]+)/,
size: /PACKAGE SIZE\s+\(\w+\):\s+(.+)/,
description: /PACKAGE DESCRIPTION:\s+(.+)/m
}
end