Sha256: 58c8f52cf0ff521cf38fd0db4eda3909039d0000ecb8162663e6035bedea1794

Contents?: true

Size: 1.4 KB

Versions: 51

Compression:

Stored size: 1.4 KB

Contents

module Sys
  class Platform
    # The CPU architecture
    ARCH = File::ALT_SEPARATOR ? Uname.architecture.to_sym : Uname.machine.to_sym

    # Returns a basic OS family, either :windows or :unix
    OS = File::ALT_SEPARATOR ? :windows : :unix

    # Returns the OS type, :macosx, :linux, :mingw32, etc
    IMPL = case Uname.sysname
      when /darwin|mac/i
        :macosx
      when /mingw|windows/i
        require 'rbconfig'
        RbConfig::CONFIG['host_os'].split('_').first[/[a-z]+/i].downcase.to_sym
      when /linux/i
        :linux
      when /sunos|solaris/i
        :solaris
      when /bsd/i
        :bsd
    end

    # Returns whether or not you're on a Windows OS
    def self.windows?
      Uname.sysname =~ /microsoft/i ? true : false
    end

    # Returns whether or not you're on a Unixy (non-Windows) OS
    def self.unix?
      Uname.sysname !~ /microsoft/i ? true : false
    end

    # Returns whether or not you're on a mac, i.e. OSX
    def self.mac?
      Uname.sysname =~ /darwin|mac/i ? true : false
    end

    # Returns whether or not you're on Linux
    def self.linux?
      Uname.sysname =~ /linux/i ? true : false
    end

    # Returns whether or not you're on Solaris
    def self.solaris?
      Uname.sysname =~ /sunos|solaris/i ? true : false
    end

    # Returns whether or not you're on any BSD platform
    def self.bsd?
      Uname.sysname =~ /bsd/i ? true : false
    end
  end
end

Version data entries

51 entries across 51 versions & 7 rubygems

Version Path
rubypitaya-3.12.5 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
rubypitaya-3.12.4 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
rubypitaya-3.12.3 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
rubypitaya-3.12.2 ./lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-2.0.1 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-2.0.0 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-1.142.3 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-1.120.3 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-1.61.3 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-1.42.3 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-1.33.7 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-1.30.0 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
phillipug-foodie-0.1.0 .vendor/ruby/3.0.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-0.57.1 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
cloudsmith-api-0.54.15 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/lib/sys/platform.rb
sys-uname-1.2.2 lib/sys/platform.rb
cloudsmith-api-0.53.79 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.1/lib/sys/platform.rb
cloudsmith-api-0.53.17 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.1/lib/sys/platform.rb
cloudsmith-api-0.53.3 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.1/lib/sys/platform.rb
cloudsmith-api-0.53.1 vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.1/lib/sys/platform.rb