Codebase list facter / f44ca52
(maint) Fix hardware model fact for ruby 1.9 The case statement for the windows hardware model fact was broken because ruby 1.9 no longer supports `case x: value` syntax. If everything is on a single line, it must be `case x then value`. Jeff Weiss 11 years ago
1 changed file(s) with 15 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
2727 Facter.add(:hardwaremodel) do
2828 confine :operatingsystem => :windows
2929 setcode do
30 # The cryptic windows cpu architecture models are documented in these places:
3031 # http://source.winehq.org/source/include/winnt.h#L568
3132 # http://msdn.microsoft.com/en-us/library/windows/desktop/aa394373(v=vs.85).aspx
3233 # http://msdn.microsoft.com/en-us/library/windows/desktop/windows.system.processorarchitecture.aspx
34 # Also, arm and neutral are included because they are valid for the upcoming
35 # windows 8 release. --jeffweiss 23 May 2012
3336 require 'facter/util/wmi'
3437 model = ""
3538 Facter::Util::WMI.execquery("select Architecture, Level from Win32_Processor").each do |cpu|
3639 model =
3740 case cpu.Architecture
38 when 11: 'neutral' # PROCESSOR_ARCHITECTURE_NEUTRAL
39 when 10: 'i686' # PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
40 when 9: 'x64' # PROCESSOR_ARCHITECTURE_AMD64
41 when 8: 'msil' # PROCESSOR_ARCHITECTURE_MSIL
42 when 7: 'alpha64' # PROCESSOR_ARCHITECTURE_ALPHA64
43 when 6: 'ia64' # PROCESSOR_ARCHITECTURE_IA64
44 when 5: 'arm' # PROCESSOR_ARCHITECTURE_ARM
45 when 4: 'shx' # PROCESSOR_ARCHITECTURE_SHX
46 when 3: 'powerpc' # PROCESSOR_ARCHITECTURE_PPC
47 when 2: 'alpha' # PROCESSOR_ARCHITECTURE_ALPHA
48 when 1: 'mips' # PROCESSOR_ARCHITECTURE_MIPS
49 when 0: "i#{cpu.Level}86" # PROCESSOR_ARCHITECTURE_INTEL
41 when 11 then 'neutral' # PROCESSOR_ARCHITECTURE_NEUTRAL
42 when 10 then 'i686' # PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
43 when 9 then 'x64' # PROCESSOR_ARCHITECTURE_AMD64
44 when 8 then 'msil' # PROCESSOR_ARCHITECTURE_MSIL
45 when 7 then 'alpha64' # PROCESSOR_ARCHITECTURE_ALPHA64
46 when 6 then 'ia64' # PROCESSOR_ARCHITECTURE_IA64
47 when 5 then 'arm' # PROCESSOR_ARCHITECTURE_ARM
48 when 4 then 'shx' # PROCESSOR_ARCHITECTURE_SHX
49 when 3 then 'powerpc' # PROCESSOR_ARCHITECTURE_PPC
50 when 2 then 'alpha' # PROCESSOR_ARCHITECTURE_ALPHA
51 when 1 then 'mips' # PROCESSOR_ARCHITECTURE_MIPS
52 when 0 then "i#{cpu.Level}86" # PROCESSOR_ARCHITECTURE_INTEL
5053 else 'unknown' # PROCESSOR_ARCHITECTURE_UNKNOWN
5154 end
5255 break