module Jekyll::Utils::Platforms

Public Instance Methods

bash_on_windows?() click to toggle source

Determine if Windows Subsystem for Linux (WSL)

# File lib/jekyll/utils/platforms.rb, line 27
def bash_on_windows?
  linux_os? && microsoft_proc_version?
end
jruby?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 8
def jruby?
  RUBY_ENGINE == "jruby"
end
linux?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 31
def linux?
  linux_os? && !microsoft_proc_version?
end
mri?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 12
def mri?
  RUBY_ENGINE == "ruby"
end
osx?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 35
def osx?
  rbconfig_host.match?(%r!darwin|mac os!)
end
really_windows?()
Alias for: vanilla_windows?
unix?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 39
def unix?
  rbconfig_host.match?(%r!solaris|bsd!)
end
vanilla_windows?() click to toggle source

Not a Windows Subsystem for Linux (WSL)

# File lib/jekyll/utils/platforms.rb, line 21
def vanilla_windows?
  rbconfig_host.match?(%r!mswin|mingw|cygwin!) && proc_version.empty?
end
Also aliased as: really_windows?
windows?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 16
def windows?
  vanilla_windows? || bash_on_windows?
end

Private Instance Methods

linux_os?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 58
def linux_os?
  rbconfig_host.include?("linux")
end
microsoft_proc_version?() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 62
def microsoft_proc_version?
  proc_version.include?("microsoft")
end
proc_version() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 45
def proc_version
  @proc_version ||= \
    begin
      File.read("/proc/version").downcase
    rescue Errno::ENOENT, Errno::EACCES
      ""
    end
end
rbconfig_host() click to toggle source
# File lib/jekyll/utils/platforms.rb, line 54
def rbconfig_host
  @rbconfig_host ||= RbConfig::CONFIG["host_os"].downcase
end