Class: Gem::Installer::Nice::DistroGuesser
- Inherits:
-
Object
- Object
- Gem::Installer::Nice::DistroGuesser
- Defined in:
- lib/rubygems/nice_install/distro_guesser.rb
Class Method Summary collapse
Class Method Details
.distro ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/rubygems/nice_install/distro_guesser.rb', line 5 def self.distro @distro ||= if !release_files.grep(/fedora/).empty? :fedora elsif !release_files.grep(/redhat/).empty? # Use Fedora for RHEL ATM. :fedora elsif !release_files.grep(/SuSe/).empty? :opensuse else :base end end |
.distro_ext_installer ⇒ Object
18 19 20 21 22 |
# File 'lib/rubygems/nice_install/distro_guesser.rb', line 18 def self.distro_ext_installer require "rubygems/nice_install/#{distro}_ext_installer" klass = Gem::Installer::Nice.const_get("#{distro.capitalize}ExtInstaller") klass.new if klass && klass != BaseExtInstaller end |
.release_files ⇒ Object
35 36 37 38 |
# File 'lib/rubygems/nice_install/distro_guesser.rb', line 35 def self.release_files @@release_files ||= Dir.glob('/etc/*{_version,-release}*').select {|e| File.file? e} end |
.version ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/rubygems/nice_install/distro_guesser.rb', line 24 def self.version versions = [] release_files.each do |file| /\d+/ =~ File.open(file).readline versions << Regexp.last_match.to_s.to_i if Regexp.last_match end versions.uniq!.first or 1 end |