(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
27 | 27 | Facter.add(:hardwaremodel) do |
28 | 28 | confine :operatingsystem => :windows |
29 | 29 | setcode do |
30 | # The cryptic windows cpu architecture models are documented in these places: | |
30 | 31 | # http://source.winehq.org/source/include/winnt.h#L568 |
31 | 32 | # http://msdn.microsoft.com/en-us/library/windows/desktop/aa394373(v=vs.85).aspx |
32 | 33 | # 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 | |
33 | 36 | require 'facter/util/wmi' |
34 | 37 | model = "" |
35 | 38 | Facter::Util::WMI.execquery("select Architecture, Level from Win32_Processor").each do |cpu| |
36 | 39 | model = |
37 | 40 | 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 | |
50 | 53 | else 'unknown' # PROCESSOR_ARCHITECTURE_UNKNOWN |
51 | 54 | end |
52 | 55 | break |