Module: Pkgr::Distributions

Defined in:
lib/pkgr/distributions.rb,
lib/pkgr/distributions/base.rb,
lib/pkgr/distributions/centos.rb,
lib/pkgr/distributions/debian.rb,
lib/pkgr/distributions/redhat.rb,
lib/pkgr/distributions/runner.rb,
lib/pkgr/distributions/ubuntu.rb

Defined Under Namespace

Classes: Base, Centos, Debian, Redhat, Runner, Ubuntu

Class Method Summary collapse

Class Method Details

.current(force_os = nil) ⇒ Object



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

def current(force_os = nil)
  os, release = if force_os.nil?
    [Facter.value('operatingsystem'), Facter.value('operatingsystemrelease')]
  else
    force_os.split("-")
  end

  os.downcase!

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