class Gem::Installer::Nice::DistroGuesser
Public Class Methods
distro()
click to toggle source
# 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()
click to toggle source
# 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.to_s.capitalize}ExtInstaller") klass.new if klass && klass != BaseExtInstaller end
release_files()
click to toggle source
# 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()
click to toggle source
# 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