모듈: Mongoid::Config::Options

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

개요

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

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#defaults해시

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

예시:

기본값을 가져옵니다.

options.defaults

반환합니다:

  • (해시)

    기본 옵션입니다.



13
14
15
# 파일 'lib/mongoid/config/options.rb', 줄 13

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

#log_level정수

로그 수준을 가져옵니다.

예시:

로그 수준을 가져옵니다.

config.log_level

반환합니다:

  • (정수)

    로그 수준입니다.



89
90
91
92
93
94
95
96
97
# 파일 'lib/mongoid/config/options.rb', 줄 89

def log_level
  반환 하지 않는 한 레벨 = 설정[:log_level]

  하지 않는 한 레벨.is_a?(Integer)
    # JRuby String#constantize는 여기서는 작동하지 않습니다.
    레벨 = 로거.const_get(레벨.upcase.to_s)
  end
  레벨
end

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

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

예시:

옵션을 정의합니다.

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

매개변수:

  • 이름 (기호)

    구성 옵션의 이름입니다.

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

    옵션에 대한 추가 사항.

옵션 해시(options):

  • :default (객체)

    기본값입니다.

  • :on_change (Proc | nil)

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



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 파일 'lib/mongoid/config/options.rb', 줄 28

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

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

    정의_메서드("#{name}=") do |value|
      old_value = 설정[이름]
      설정[이름] = value

      시작
        옵션[:on_change]&.전화하기.(value)
      구출 StandardError
        # on_change 콜백 오류가 발생하면 다음을 수행해야 합니다.
        # 다시 변경합니다.
        설정[이름] = old_value
        올리다
      end
    end

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

#reset해시

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

예시:

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

config.reset

반환합니다:

  • (해시)

    기본값입니다.



65
66
67
68
69
70
71
# 파일 'lib/mongoid/config/options.rb', 줄 65

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

#설정해시

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

예시:

설정을 가져옵니다.

options.settings

반환합니다:

  • (해시)

    설정 옵션.



79
80
81
# 파일 'lib/mongoid/config/options.rb', 줄 79

def 설정
  @settings ||= {}
end