模块:Mongoid::Config::Environment

扩展方式:
environment
包含在:
environment
定义于:
lib/mongoid/config/environment.rb

Overview

封装用于获取环境信息的逻辑。

实例方法摘要折叠

实例方法详细信息

# env_namestring

获取 Mongoid运行环境的名称。

按顺序使用以下来源:

  • 如果已定义::Rails ,则为Rails.env

  • 如果已定义::Sinatra ,则为Sinatra::Base.environment

  • RACK_ENV

  • +MONGOID_ENV*

例子:

获取环境名称。

Environment.env_name

返回:

  • ( string )

    当前环境的名称。

引发:



27
28
29
30
31
32
33
34
35
# File 'lib/mongoid/config/environment.rb', line 27

def env_name
  if 定义?(::Rails)
    return ::Rails.env
  end
  if 定义?(::Sinatra)
    return ::Sinatra::Base.environment.to_s
  end
  ENV[" RACK_ENV "] || ENV["MONGOID_ENV"] or 提高 Errors::NoEnvironment
end

# load_yaml (path, environment = nil) ⇒哈希

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

从提供的路径加载 yaml,并返回指定环境或当前 Mongoid 环境的设置。

例子:

加载 yaml。

Environment.load_yaml("/work/mongoid.yml")

参数:

  • 路径 ( string )

    文件的位置。

  • environment string | 符号 (默认为: nil

    可选环境名称,用于覆盖当前 Mongoid 环境。

返回:

  • (哈希)

    设置。



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/mongoid/config/environment.rb', line 50

def load_yaml(路径, environment = nil)
  env = environment ? environment.to_s : env_name

  目录 = file.(路径)
  if 目录.空?
    提高 Mongoid::Errors::EmptyConfigFile.new(路径)
  end

  # 这些是可以在 Mongoid 中使用的类
  # 除了标准 YAML 类型之外的配置文件。
  allowed_classes = [
    #示例,符号作为读取偏好(read preference)的值出现。
    符号,
    # BSON::Binary 作为 FLE 的 keyId 值出现(更准确地说,
    # keyId 是 UUID)。
    BSON::二进制文件,
  ]

  结果 = ERB.new(目录).结果
  数据 = YAML.safe_load(结果, allowed_classes: allowed_classes, aliases: true)

  除非 数据.is_a?(哈希)
    提高 Mongoid::Errors::InvalidConfigFile.new(路径)
  end

  数据[env]
end