2018-09-17 11:41:14 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-02-01 15:10:28 -06:00
|
|
|
# This file can be loaded independently of puma.rb, so it cannot have any code
|
|
|
|
# that assumes puma.rb is loaded.
|
|
|
|
|
|
|
|
|
2012-08-10 19:35:47 -07:00
|
|
|
module Puma
|
2021-02-01 15:10:28 -06:00
|
|
|
# @version 5.2.1
|
|
|
|
HAS_FORK = ::Process.respond_to? :fork
|
2020-07-03 15:40:13 -05:00
|
|
|
|
2021-02-01 15:10:28 -06:00
|
|
|
IS_JRUBY = Object.const_defined? :JRUBY_VERSION
|
2020-07-03 15:40:13 -05:00
|
|
|
|
2021-10-31 06:06:58 -05:00
|
|
|
IS_OSX = RUBY_PLATFORM.include? 'darwin'
|
|
|
|
|
|
|
|
IS_WINDOWS = !!(RUBY_PLATFORM =~ /mswin|ming|cygwin/) ||
|
|
|
|
IS_JRUBY && RUBY_DESCRIPTION.include?('mswin')
|
2021-02-01 15:10:28 -06:00
|
|
|
|
|
|
|
# @version 5.2.0
|
|
|
|
IS_MRI = (RUBY_ENGINE == 'ruby' || RUBY_ENGINE.nil?)
|
2012-08-10 19:35:47 -07:00
|
|
|
|
2016-02-03 14:06:00 -06:00
|
|
|
def self.jruby?
|
|
|
|
IS_JRUBY
|
|
|
|
end
|
|
|
|
|
2021-10-31 06:06:58 -05:00
|
|
|
def self.osx?
|
|
|
|
IS_OSX
|
|
|
|
end
|
|
|
|
|
2016-02-03 14:06:00 -06:00
|
|
|
def self.windows?
|
2016-11-23 01:27:30 +01:00
|
|
|
IS_WINDOWS
|
2016-02-03 14:06:00 -06:00
|
|
|
end
|
2020-03-01 16:12:36 -09:00
|
|
|
|
2020-09-17 10:15:19 -05:00
|
|
|
# @version 5.0.0
|
2020-03-01 16:12:36 -09:00
|
|
|
def self.mri?
|
2021-02-01 15:10:28 -06:00
|
|
|
IS_MRI
|
2020-03-01 16:12:36 -09:00
|
|
|
end
|
2020-04-22 08:33:13 +09:00
|
|
|
|
2020-09-17 10:15:19 -05:00
|
|
|
# @version 5.0.0
|
2020-04-22 08:33:13 +09:00
|
|
|
def self.forkable?
|
2021-02-01 15:10:28 -06:00
|
|
|
HAS_FORK
|
2020-04-22 08:33:13 +09:00
|
|
|
end
|
2016-02-03 14:06:00 -06:00
|
|
|
end
|