모듈: 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)

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



27
28
29
30
31
32
33
34
35
# 파일 'lib/mongoid/config/environment.rb', 줄 27

def env_name
  만약 정의됨?(::Rails)
    반환 ::Rails.env
  end
  만약 정의됨?(::Sinatra)
    반환 ::Sinatra::Base.환경.to_s
  end
  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 환경을 재정의할 수 있는 선택적 환경 이름입니다.

반환합니다:

  • (해시)

    설정.



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
# 파일 'lib/mongoid/config/environment.rb', 줄 50

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

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

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

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

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

  데이터[env]
end