类:Mongo::Server::AppMetadata::Platform Private

继承:
对象
  • 对象
显示全部
定义于:
lib/ Mongo/ 服务器/app_metadata/platform.rb

Overview

此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。

实现构建握手平台string的逻辑。

由于:

  • 2.0.0

常量摘要折叠

ENGINE_NAMES =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

由于:

  • 2.0.0

{ 'jruby' => 'JRuby', 'truffleruby' => 'TruffleRuby' }.冻结

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#初始化(元数据)⇒平台

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

创建一个新的 Platform对象,引用给定的元数据对象。

参数:

由于:

  • 2.0.0



33
34
35
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 33

def 初始化()
  @metadata = 
end

实例属性详细信息

#元数据Mongo::Server::AppMetadata (readonly)

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回构建平台string时要引用的元数据对象。

返回:

由于:

  • 2.0.0



27
28
29
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 27

def 
  @metadata
end

实例方法详细信息

# default_platform_listArray<String>

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

构建并返回默认平台列表,以在构建平台string时使用。

返回:

  • ( Array<String> )

    平台标识符列表

由于:

  • 2.0.0



91
92
93
94
95
96
97
98
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 91

def default_platform_list
  [
    .平台,
    *ruby_versions,
    *平台,
    RbConfig::配置[' 构建 ']
  ]
end

#engine_name对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

由于:

  • 2.0.0



53
54
55
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 53

def engine_name
  ENGINE_NAMES[RUBY_ENGINE] || RUBY_ENGINE
end

#java_versionString | nil

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回当前Java环境的版本,如果未使用 JRuby 调用,则返回 nil。

返回:

  • ( string | nil )

    当前 Java 版本

由于:

  • 2.0.0



81
82
83
84
85
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 81

def java_version
  return nil 除非 jRuby?

  Java.lang.记录.get_property('java.version')
end

# jRuby?true | false

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

查询当前运行时是否为 JRuby。

返回:

  • ( true | false )

    运行时是否为 JRuby。

由于:

  • 2.0.0



47
48
49
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 47

def jRuby?
  RUBY_ENGINE == 'jruby'
end

#mri?true | false

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

查询当前运行时是否为Ruby MRI。

返回:

  • ( true | false )

    运行时是否为Ruby MRI。

由于:

  • 2.0.0



40
41
42
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 40

def 核磁共振检查?
  RUBY_ENGINE == 'ruby'
end

#platformsArray<String>

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回标识此运行时的平台标识符列表。

返回:

  • ( Array<String> )

    平台标识符列表。

由于:

  • 2.0.0



71
72
73
74
75
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 71

def 平台
  [ RUBY_PLATFORM ].点击 do |名单|
    名单.推动 " Java虚拟机(JVM) #{ java_version } " if jRuby?
  end
end

# Purposestring | nil

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回表示报告给元数据的用途的单个字母,如果未指定用途,则返回 nil。

返回:

  • ( string | nil )

    代表目的的代码

由于:

  • 2.0.0



104
105
106
107
108
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 104

def 用途
  return nil 除非 .用途

  .用途.to_s[0].upcase
end

# ruby_versionsArray<String>

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回标识此运行时的Ruby版本列表。

返回:

  • ( Array<String> )

    Ruby 版本列表

由于:

  • 2.0.0



60
61
62
63
64
65
66
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 60

def ruby_versions
  if 核磁共振检查?
    [ " Ruby #{ RUBY_VERSION } " ]
  else
    [ "#{engine_name} #{RUBY_ENGINE_VERSION}", "就像 Ruby #{ RUBY_VERSION } " ]
  end
end

# to_sstring

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

通过将相关值连接在一起来构建并返回平台string 。

返回:

  • ( string )

    平台string

由于:

  • 2.0.0



114
115
116
117
118
119
120
121
122
123
# File 'lib/ Mongo/ 服务器/app_metadata/platform.rb', line 114

def to_s
  主节点 = [ *default_platform_list, 用途 ].compact.连接 (JOIN)(' , ')
  名单 = [ 主节点 ]

  .wrapping_libraries&。 do ||
    名单 << ([:platform] || ' ')
  end

  名单.连接 (JOIN)(' | ')
end