모듈: Mongoid::Config::Environment

확장자:
환경
포함 항목:
환경
다음에 정의됨:
lib/mongoid/config/environment.rb

개요

환경 정보를 가져오기 위한 로직을 캡슐화합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#env_namestring

Mongoid가 실행 환경의 이름을 가져옵니다.

다음 소스를 순서대로 사용합니다.

  • ::Rails 정의되어 있으면Rails.env 입니다.
  • ::Sinatra 정의되어 있으면Sinatra::Base.environment 입니다.
  • RACK_ENV
  • +MONGOID_ENV*

예시:

환경 이름을 가져옵니다.

Environment.env_name

반환합니다:

  • (string)

    현재 환경의 이름입니다.

다음을 발생시킵니다.

  • (Errors::NoEnvironment)

    소스가 설정하다 되지 않아 환경 이름을 확인할 수 없는 경우.



25
26
27
28
29
30
# 파일 'lib/mongoid/config/environment.rb', 줄 25

def env_name
  반환 ::Rails.env 만약 정의됨?(::Rails)
  반환 ::Sinatra::Base.환경.to_s 만약 정의됨?(::Sinatra)

  ENV['RACK_ENV'] || ENV['MONGOID_ENV'] or 올리다 오류::NoEnvironment
end

#load_yaml(경로, 환경 = nil) ⇒ 해시

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

제공된 경로에서 yaml을 로드하고 지정된 환경 또는 현재 Mongoid 환경에 대한 설정을 반환합니다.

예시:

yaml을 로드합니다.

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

매개변수:

  • 경로 (string)

    파일 의 위치 입니다.

  • 환경 (string | 기호) (기본값: nil)

    현재 Mongoid 환경을 재정의할 수 있는 선택적 환경 이름입니다.

반환합니다:

  • (해시)

    설정.

다음을 발생시킵니다.



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# 파일 'lib/mongoid/config/environment.rb', 줄 45

def load_yaml(경로, 환경 = nil)
  env = 환경 ? 환경.to_s : env_name

  콘텐츠 = file.읽기(경로)
  올리다 몽고이드::오류::EmptyConfigFile.신규(경로) 만약 콘텐츠.비어 있나요?

  # 다음은 Mongoid에서 사용할 수 있는 클래스입니다.
  # 표준 YAML 유형 외에 구성 파일 .
  Allowed_classes = [
    # 기호는 읽기 설정( 읽기 설정 (read preference))에 대한 값으로 예시 됩니다.
    기호,
    # BSON::Binary는 FLE의 keyId 값으로 발생합니다(더 정확하게는
    # keyId는 UUID입니다).
    BSON::바이너리
  ]

  결과 = ERB.신규(콘텐츠).결과
  데이터 = YAML.safe_load(결과, 허용된 클래스: Allowed_classes, aliases: true)

  올리다 몽고이드::오류::InvalidConfigFile.신규(경로) 하지 않는 한 데이터.is_a?(해시)

  데이터[env]
end