Module: RestClient::Platform
- Defined in:
- lib/restclient/platform.rb
Class Method Summary collapse
- .architecture ⇒ Object
- .default_user_agent ⇒ Object
-
.jruby? ⇒ Boolean
Return true if we are running on jruby.
-
.mac_mri? ⇒ Boolean
Return true if we are running on a darwin-based Ruby platform.
- .ruby_agent_version ⇒ Object
-
.windows? ⇒ Boolean
Return true if we are running on Windows.
Class Method Details
.architecture ⇒ Object
32 33 34 |
# File 'lib/restclient/platform.rb', line 32 def self.architecture "#{RbConfig::CONFIG['host_os']} #{RbConfig::CONFIG['host_cpu']}" end |
.default_user_agent ⇒ Object
45 46 47 |
# File 'lib/restclient/platform.rb', line 45 def self.default_user_agent "rest-client/#{VERSION} (#{architecture}) #{ruby_agent_version}" end |
.jruby? ⇒ Boolean
Return true if we are running on jruby.
27 28 29 30 |
# File 'lib/restclient/platform.rb', line 27 def self.jruby? # defined on mri >= 1.9 RUBY_ENGINE == 'jruby' end |
.mac_mri? ⇒ Boolean
Return true if we are running on a darwin-based Ruby platform. This will be false for jruby even on OS X.
9 10 11 |
# File 'lib/restclient/platform.rb', line 9 def self.mac_mri? RUBY_PLATFORM.include?('darwin') end |
.ruby_agent_version ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/restclient/platform.rb', line 36 def self.ruby_agent_version case RUBY_ENGINE when 'jruby' "jruby/#{JRUBY_VERSION} (#{RUBY_VERSION}p#{RUBY_PATCHLEVEL})" else "#{RUBY_ENGINE}/#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}" end end |
.windows? ⇒ Boolean
Return true if we are running on Windows.
17 18 19 20 21 |
# File 'lib/restclient/platform.rb', line 17 def self.windows? # Ruby only sets File::ALT_SEPARATOR on Windows, and the Ruby standard # library uses that to test what platform it's on. !!File::ALT_SEPARATOR end |