Module: Pkgr::Distributions

Defined in:
lib/pkgr/distributions.rb,
lib/pkgr/distributions/debian.rb,
lib/pkgr/distributions/ubuntu_lucid.rb,
lib/pkgr/distributions/debian_wheezy.rb,
lib/pkgr/distributions/debian_squeeze.rb,
lib/pkgr/distributions/ubuntu_precise.rb

Defined Under Namespace

Classes: Debian, DebianSqueeze, DebianWheezy, UbuntuLucid, UbuntuPrecise

Class Method Summary collapse

Class Method Details

.current(force_os = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/pkgr/distributions.rb', line 8

def current(force_os = nil)
  distro = if force_os.nil?
    [Facter.value('operatingsystem'), Facter.value('lsbdistcodename')]
  else
    force_os.split("-")
  end.map(&:capitalize).join("")

  klass = const_get(distro)
  klass.new
rescue NameError => e
  raise Errors::UnknownDistribution, "Don't know about the current distribution you're on: #{distro}"
end