모듈: Mongoid::Attributes::Embedded

확장자:
Embedded
포함 항목:
Embedded
다음에 정의됨:
lib/mongoid/attributes/embedded.rb

개요

포함된 속성 작업을 위한 유틸리티 모듈입니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#traverse(속성, 경로) ⇒ 객체 | nil

점 표기법 을 통해 포함된 값 또는 속성의 하위 집합을 가져옵니다.

예시:

점 표기법 을 통해 포함된 값을 가져옵니다.

Embedded.traverse({ 'name' => { 'en' => 'test' } }, 'name.en')
#=> 'test'

매개변수:

  • 속성 (해시)

    문서 속성입니다.

  • 경로 (string)

    점 표기법 string 입니다.

반환합니다:

  • (객체 | nil)

    지정된 경로에 있는 속성이거나, 경로가 존재하지 않는 경우 nil입니다.



20
21
22
23
24
25
26
27
28
29
30
31
# 파일 'lib/mongoid/attributes/embedded.rb', 줄 20

def traverse(속성, 경로)
  경로.split('.'). do ||
    휴식 만약 속성.nil?

    속성 = 만약 속성.try(:key?, )
                   속성[]
                 elsif 속성.response_to?(:each) && .일치?(/\A\d+\z/)
                   속성[.to_i]
                 end
  end
  속성
end