Sha256: 266185524403807f169f3d3df719f5cab28b575995f11bc2c2dc610ef56fd3f5
Contents?: true
Size: 1.67 KB
Versions: 3
Compression:
Stored size: 1.67 KB
Contents
module Beaker class Platform < String #supported platforms PLATFORMS = /^(centos|fedora|debian|oracle|redhat|scientific|sles|ubuntu|windows|solaris|aix|el)\-.+\-.+$/ PLATFORM_VERSION_CODES = { :debian => { "wheezy" => "7", "squeeze" => "6", }, :ubuntu => { "trusty" => "1404", "saucy" => "1310", "raring" => "1304", "quantal" => "1210", "precise" => "1204", }, } def initialize(name) if name !~ PLATFORMS raise ArgumentError, "Unsupported platform name #{name}" end super end def with_version_codename name, version, extra = self.split('-', 3) PLATFORM_VERSION_CODES.each_key do |platform| if name =~ /#{platform}/ PLATFORM_VERSION_CODES[platform].each do |version_codename, version_number| #remove '.' from version number if version.delete('.') =~ /#{version_number}/ version = version_codename break end end break end end [name, version, extra].join('-') end def with_version_number name, version, extra = self.split('-', 3) PLATFORM_VERSION_CODES.each_key do |platform| if name =~ /#{platform}/ PLATFORM_VERSION_CODES[platform].each do |version_codename, version_number| if version =~ /#{version_codename}/ version = version_number break end end break end end [name, version, extra].join('-') end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
beaker-1.8.2 | lib/beaker/platform.rb |
beaker-1.8.1 | lib/beaker/platform.rb |
beaker-1.8.0 | lib/beaker/platform.rb |