class Fzeet::Windows::OSVERSIONINFOEX
Public Instance Methods
<=>(version)
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 28 def <=>(version) hex <=> case version when '2000', 2000; 0x0500 when 'xp', :xp; 0x0501 when 'vista', :vista; 0x0600 when '7', 7; 0x0601 else raise ArgumentError end end
build()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 23 def build; self[:dwBuildNumber] end
get!()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 19 def get!; tap { |ovi| ovi[:dwOSVersionInfoSize] = size; Windows.DetonateLastError(0, :GetVersionEx, ovi) } end
hex()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 26 def hex; (major << 8) + minor end
major()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 21 def major; self[:dwMajorVersion] end
minor()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 22 def minor; self[:dwMinorVersion] end
name()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 40 def name case hex when 0x0500...0x0501; 'Windows 2000' when 0x0501...0x0600; 'Windows XP' when 0x0600...0x0601; 'Windows Vista' when 0x0601...0x0700; 'Windows 7' else 'Unknown' end end
sp()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 24 def sp; self[:wServicePackMajor] end
to_s()
click to toggle source
# File lib/fzeet/windows/core/Version.rb, line 50 def to_s; "#{major}.#{minor}.#{build} SP#{sp} (#{name})" end