모듈: Mongoid::Config::Options

포함 항목:
Mongoid::Config
다음에 정의됨:
lib/mongoid/config/options.rb

개요

옵션 설정을 위한 로직을 캡슐화합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#defaults해시

기본값을 가져오거나 새 빈 해시를 초기화합니다.

예시:

기본값을 가져옵니다.

options.defaults

반환합니다:

  • (해시)

    기본 옵션입니다.



16
17
18
# 파일 'lib/mongoid/config/options.rb', 줄 16

def 기본값
  @defaults ||= {}
end

#log_level정수

로그 수준을 가져옵니다.

예시:

로그 수준을 가져옵니다.

config.log_level

반환합니다:

  • (정수)

    로그 수준입니다.



83
84
85
86
87
88
89
90
91
# 파일 'lib/mongoid/config/options.rb', 줄 83

def log_level
  만약 레벨 = 설정[:log_level]
    하지 않는 한 레벨.is_a?(Integer)
      # JRuby String#constantize는 여기서는 작동하지 않습니다.
      레벨 = 로거.const_get(레벨.upcase.to_s)
    end
    레벨
  end
end

#옵션(이름, 옵션 = {}) ⇒ 객체

기본값 을 사용하여 구성 옵션을 정의합니다.

예시:

옵션을 정의합니다.

Options.option(:logger, :default => Logger.new(STDERR, :warn))

매개변수:

  • 이름 (기호)

    구성 옵션의 이름입니다.

  • 옵션 (해시) (기본값: {})

    옵션에 대한 추가 사항.

옵션 해시(options):

  • :default (객체)

    기본값입니다.

  • :on_change (Proc | nil)

    세터가 호출될 때 호출할 콜백입니다.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 파일 'lib/mongoid/config/options.rb', 줄 31

def 옵션(이름, 옵션 = {})
  기본값[이름] = 설정[이름] = 옵션[:default]

  class_eval do
    # log_level 접근자는 아래에 특별히 정의되어 있습니다.
    하지 않는 한 이름.to_sym == :log_level
      정의_메서드(이름) do
        설정[이름]
      end
    end

    정의_메서드("#{name}=") do |value|
      설정[이름] = value
      옵션[:on_change]&.전화하기.(value)
    end

    정의_메서드("#{name}?") do
      !!send(이름)
    end
  end
end

#reset해시

구성 옵션을 기본값으로 재설정합니다.

예시:

구성 옵션을 재설정합니다.

config.reset

반환합니다:

  • (해시)

    기본값입니다.



59
60
61
62
63
64
65
# 파일 'lib/mongoid/config/options.rb', 줄 59

def 재설정
  # 각 옵션에 대해 세터를 통해 이 작업을 수행하여 정의된 on_change
  # 핸들러를 호출할 수 있습니다.
  기본값. do |설정, 기본|
    send(:#{설정}=", 기본)
  end
end

#설정해시

설정을 가져오거나 새 빈 해시를 초기화합니다.

예시:

설정을 가져옵니다.

options.settings

반환합니다:

  • (해시)

    설정 옵션.



73
74
75
# 파일 'lib/mongoid/config/options.rb', 줄 73

def 설정
  @settings ||= {}
end