모듈: Mongoid::Serializable

확장자:
ActiveSupport::Concern
포함 항목:
컴포저블
다음에 정의됨:
lib/mongoid/serializable.rb

개요

이 모듈은 JSON 및 XML 직렬화에 연관 관계를 포함하기 위한 추가 동작을 제공합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#serializable_hash(options = nil) ⇒ 해시

ActiveModel의 JSON 직렬 변환기에서 사용하는 직렬화 가능 해시로 문서를 가져옵니다.

예시:

직렬화 가능한 해시를 가져옵니다.

document.serializable_hash

옵션을 사용하여 직렬화 가능한 해시를 가져옵니다.

document.serializable_hash(:include => :addresses)

매개변수:

  • 옵션 (해시) (기본값: nil)

    전달할 옵션입니다.

옵션 해시(options):

  • :제외 (기호 | string | Array<Symbol | string>)

    이러한 필드 는 포함하지 마세요.

  • :include (기호 | string | Array<Symbol | string>)

    포함할 연관 관계입니다.

  • :only (기호 | string | Array<Symbol | string>)

    필드 를 이러한 항목으로 제한합니다.

  • :methods (기호 | string | Array<Symbol | string>)

    포함할 메서드.

반환합니다:

  • (해시)

    문서, 직렬화할 준비가 되었습니다.



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 파일 'lib/mongoid/serializable.rb', 줄 47

def serializable_hash(옵션 = nil)
  옵션 ||= {}
  attrs = {}

  이름 = field_names(옵션)

  메서드 이름 = 배열.(옵션[:methods]).map do |이름|
    이름.to_s 만약 response_to?(이름)
  end.컴팩트

  (이름 + 메서드 이름). do |이름|
    without_autobuild do
      serialize_attribute(attrs, 이름, 이름, 옵션)
    end
  end
  serialize_relations(attrs, 옵션) 만약 옵션[:include]
  attrs
end