Class: MySpeechLibrary::OSDetector

Inherits:
Object
  • Object
show all
Defined in:
lib/my_speech_library/os_detector.rb

Constant Summary collapse

OS_TYPES =
{
  windows: /mswin|mingw|cygwin/,
  macos: /darwin/,
  linux: /linux/
}.freeze

Instance Method Summary collapse

Instance Method Details

#detect_osObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/my_speech_library/os_detector.rb', line 11

def detect_os
  @detected_os ||= begin
    host_os = RbConfig::CONFIG['host_os']
    
    OS_TYPES.each do |os_type, pattern|
      return os_type if host_os =~ pattern
    end
    
    :unknown
  end
end

#linux?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/my_speech_library/os_detector.rb', line 31

def linux?
  detect_os == :linux
end

#macos?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/my_speech_library/os_detector.rb', line 27

def macos?
  detect_os == :macos
end

#unknown?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/my_speech_library/os_detector.rb', line 35

def unknown?
  detect_os == :unknown
end

#windows?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/my_speech_library/os_detector.rb', line 23

def windows?
  detect_os == :windows
end