模块:Mongoid::Config::Environment
Overview
封装用于获取环境信息的逻辑。
实例方法摘要折叠
-
# env_name ⇒ 字符串
获取 Mongoid运行环境的名称。
-
# load_yaml (path, environment = nil) ⇒ 哈希
private
从提供的路径加载 yaml,并返回指定环境或当前 Mongoid 环境的设置。
实例方法详细信息
# env_name ⇒ string
获取 Mongoid运行环境的名称。
按顺序使用以下来源:
-
如果已定义
::Rails
,则为Rails.env
。 -
如果已定义
::Sinatra
,则为Sinatra::Base.environment
。 -
RACK_ENV
-
+MONGOID_ENV*
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 环境的设置。
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 |