Module: Pkgr::Distributions

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

Defined Under Namespace

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

Class Method Summary collapse

Class Method Details

.current(config = Config.new) ⇒ Object



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

def current(config = Config.new)
  force_os = config.force_os
  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, config)
rescue NameError => e
  raise Errors::UnknownDistribution, "Don't know about the current distribution you're on: #{os}-#{release}"
end