lib/facter/util/manufacturer.rb in facter-1.6.1 vs lib/facter/util/manufacturer.rb in facter-1.6.2
- old
+ new
@@ -1,105 +1,105 @@
# mamufacturer.rb
# Support methods for manufacturer specific facts
module Facter::Manufacturer
- def self.get_dmi_table()
- case Facter.value(:kernel)
- when 'Linux', 'GNU/kFreeBSD'
- return nil unless FileTest.exists?("/usr/sbin/dmidecode")
+ def self.get_dmi_table()
+ case Facter.value(:kernel)
+ when 'Linux', 'GNU/kFreeBSD'
+ return nil unless FileTest.exists?("/usr/sbin/dmidecode")
- output=%x{/usr/sbin/dmidecode 2>/dev/null}
- when 'FreeBSD'
- return nil unless FileTest.exists?("/usr/local/sbin/dmidecode")
+ output=%x{/usr/sbin/dmidecode 2>/dev/null}
+ when 'FreeBSD'
+ return nil unless FileTest.exists?("/usr/local/sbin/dmidecode")
- output=%x{/usr/local/sbin/dmidecode 2>/dev/null}
- when 'NetBSD'
- return nil unless FileTest.exists?("/usr/pkg/sbin/dmidecode")
+ output=%x{/usr/local/sbin/dmidecode 2>/dev/null}
+ when 'NetBSD'
+ return nil unless FileTest.exists?("/usr/pkg/sbin/dmidecode")
- output=%x{/usr/pkg/sbin/dmidecode 2>/dev/null}
- when 'SunOS'
- return nil unless FileTest.exists?("/usr/sbin/smbios")
+ output=%x{/usr/pkg/sbin/dmidecode 2>/dev/null}
+ when 'SunOS'
+ return nil unless FileTest.exists?("/usr/sbin/smbios")
- output=%x{/usr/sbin/smbios 2>/dev/null}
- else
- output=nil
- end
- return output
+ output=%x{/usr/sbin/smbios 2>/dev/null}
+ else
+ output=nil
end
+ return output
+ end
- def self.dmi_find_system_info(name)
- splitstr= Facter.value(:kernel) == 'SunOS' ? "ID SIZE TYPE" : /^Handle/
- output = self.get_dmi_table()
- return if output.nil?
- name.each_pair do |key,v|
- v.each do |v2|
- v2.each_pair do |value,facterkey|
- output.split(splitstr).each do |line|
- if line =~ /#{key}/ and line =~ /\n\s+#{value} (.+)\n/
- result = $1.strip
- Facter.add(facterkey) do
- confine :kernel => [ :linux, :freebsd, :netbsd, :sunos, :"gnu/kfreebsd" ]
- setcode do
- result
- end
- end
- end
- end
+ def self.dmi_find_system_info(name)
+ splitstr= Facter.value(:kernel) == 'SunOS' ? "ID SIZE TYPE" : /^Handle/
+ output = self.get_dmi_table()
+ return if output.nil?
+ name.each_pair do |key,v|
+ v.each do |v2|
+ v2.each_pair do |value,facterkey|
+ output.split(splitstr).each do |line|
+ if line =~ /#{key}/ and line =~ /\n\s+#{value} (.+)\n/
+ result = $1.strip
+ Facter.add(facterkey) do
+ confine :kernel => [ :linux, :freebsd, :netbsd, :sunos, :"gnu/kfreebsd" ]
+ setcode do
+ result
end
+ end
end
+ end
end
+ end
end
+ end
- def self.sysctl_find_system_info(name)
- name.each do |sysctlkey,facterkey|
- Facter.add(facterkey) do
- confine :kernel => [:openbsd, :darwin]
- setcode do
- Facter::Util::Resolution.exec("sysctl -n #{sysctlkey} 2>/dev/null")
- end
- end
+ def self.sysctl_find_system_info(name)
+ name.each do |sysctlkey,facterkey|
+ Facter.add(facterkey) do
+ confine :kernel => [:openbsd, :darwin]
+ setcode do
+ Facter::Util::Resolution.exec("sysctl -n #{sysctlkey} 2>/dev/null")
end
+ end
end
+ end
- def self.prtdiag_sparc_find_system_info()
- # Parses prtdiag for a SPARC architecture string, won't work with Solaris x86
- output = Facter::Util::Resolution.exec('/usr/sbin/prtdiag')
+ def self.prtdiag_sparc_find_system_info()
+ # Parses prtdiag for a SPARC architecture string, won't work with Solaris x86
+ output = Facter::Util::Resolution.exec('/usr/sbin/prtdiag')
- # System Configuration: Sun Microsystems sun4u Sun SPARC Enterprise M3000 Server
- sysconfig = output.split("\n")[0]
- if sysconfig =~ /^System Configuration:\s+(.+?)\s+(sun\d+\S+)\s+(.+)/ then
- Facter.add('manufacturer') do
- setcode do
- $1
- end
- end
- Facter.add('productname') do
- setcode do
- $3
- end
- end
+ # System Configuration: Sun Microsystems sun4u Sun SPARC Enterprise M3000 Server
+ sysconfig = output.split("\n")[0]
+ if sysconfig =~ /^System Configuration:\s+(.+?)\s+(sun\d+\S+)\s+(.+)/ then
+ Facter.add('manufacturer') do
+ setcode do
+ $1
end
-
- Facter.add('serialnumber') do
- setcode do
- Facter::Util::Resolution.exec("/usr/sbin/sneep")
- end
+ end
+ Facter.add('productname') do
+ setcode do
+ $3
end
+ end
end
- def self.win32_find_system_info(name)
- require 'facter/util/wmi'
- value = ""
- wmi = Facter::Util::WMI.connect()
- name.each do |facterkey, win32key|
- query = wmi.ExecQuery("select * from Win32_#{win32key.last}")
- Facter.add(facterkey) do
- confine :kernel => :windows
- setcode do
- query.each { |x| value = x.__send__( (win32key.first).to_sym) }
- value
- end
- end
+ Facter.add('serialnumber') do
+ setcode do
+ Facter::Util::Resolution.exec("/usr/sbin/sneep")
+ end
+ end
+ end
+
+ def self.win32_find_system_info(name)
+ require 'facter/util/wmi'
+ value = ""
+ wmi = Facter::Util::WMI.connect()
+ name.each do |facterkey, win32key|
+ query = wmi.ExecQuery("select * from Win32_#{win32key.last}")
+ Facter.add(facterkey) do
+ confine :kernel => :windows
+ setcode do
+ query.each { |x| value = x.__send__( (win32key.first).to_sym) }
+ value
end
+ end
end
+ end
end