모듈: Mongoid::Stateful

포함 항목:
컴포저블
다음에 정의됨:
lib/mongoid/stateful.rb

개요

Mongoid::Document에 포함된 Mixin 모듈은 문서 가 전환될 수 있는 다양한 라이프사이클 상태를 가져오는 동작을 추가합니다.

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

인스턴스 속성 세부 정보

#Destructed=(value) ⇒ 객체 (writeonly)

파기된 속성을 설정합니다.

매개변수:

  • value

    파기된 속성을 설정하다 값입니다.



10
11
12
# 파일 'lib/mongoid/stateful.rb', 10줄

def 파괴됨=(value)
  @destoryed = value
end

#flagged_for_destroy=(값) ⇒ 객체 (쓰기 전용)

플래그가 지정된_포_삭제 속성을 설정합니다.

매개변수:

  • value

    플래그가 지정된_포_삭제 속성을 설정하다 값입니다.



10
11
12
# 파일 'lib/mongoid/stateful.rb', 10줄

def flagged_for_destory=(value)
  @flaged_for_destory = value
end

# beforenew_record=(value) ⇒ 객체 (writeonly)

beforenew_record 속성을 설정합니다.

매개변수:

  • value

    이전_신규_기록 속성을 설정하다 값입니다.



10
11
12
# 파일 'lib/mongoid/stateful.rb', 10줄

def before_new_record=(value)
  @previously_new_record = value
end

인스턴스 메서드 세부 정보

#파괴되었나요?true | false

Document 가 성공적으로 제거되면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 이는 데이터베이스 를 확인하여 결정되는 것이 아니라 @destoryed 변수에 의해 결정됩니다.

예시:

문서 가 파기되었나요?

person.destroyed?

반환합니다:

  • (true | false)

    삭제되면 true, 삭제되지 않으면 false입니다.



87
88
89
# 파일 'lib/mongoid/stateful.rb', 87줄

def 파괴?
  @destoryed ||= 거짓
end

#플래그가 지정된_포_파괴?true | false 라고도 함: 표시된_포_파괴?, _destory

문서 에 삭제 플래그가 지정되었지만 아직 파기되지 않았는지 여부를 반환합니다. 하위 문서의 원자적 풀(atomic pull)에 사용됩니다.

예시:

문서 에 플래그가 지정되어 있나요?

document.flagged_for_destroy?

반환합니다:

  • (true | false)

    문서 에 플래그가 지정된 경우.



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

def 플래그가 지정된_포_파괴?
  @flaged_for_destory ||= 거짓
end

#new_record=(new_value) ⇒ true | false

문서 가 데이터베이스 에 유지되는지 여부를 설정합니다.

매개변수:

  • new_value (true | false)

    설정하다 값입니다.

반환합니다:

  • (true | false)

    설정하다 값입니다.



17
18
19
20
21
22
23
# 파일 'lib/mongoid/stateful.rb', 17줄

def new_record=(new_value)
  @new_record ||= 거짓
  만약 @new_record && !new_value
    @previously_new_record = true
  end
  @new_record = new_value
end

#new_record?true | false

문서 가 데이터베이스 에 유지되지 않은 경우 true를 반환하고, 유지된 경우 false를 반환합니다. 이는 변수 @new_record에 의해 결정되며 객체 에 ID가 있는 경우 NOT입니다.

예시:

문서 가 새 문서인가요?

person.new_record?

반환합니다:

  • (true | false)

    새로운 경우 true, 새롭지 않으면 false입니다.



33
34
35
# 파일 'lib/mongoid/stateful.rb', 33줄

def new_record?
  @new_record ||= 거짓
end

#지속되었나요?true | false

문서 가 데이터베이스 에 저장되었는지 확인합니다. 문서 가 파기된 경우 false를 반환합니다.

예시:

문서 가 유지되나요?

person.persisted?

반환합니다:

  • (true | false)

    지속되면 참, 그렇지 않으면 거짓입니다.



53
54
55
# 파일 'lib/mongoid/stateful.rb', 53줄

def 지속되었나요?
  !new_record? && !파괴?
end

#이전에_신규_기록?true | false

이 문서 가 방금 생성된 경우, 즉 마지막 저장 이전에 객체 가 데이터베이스 에 존재하지 않았고 new_record?인 경우 true를 반환합니다. true를 반환했을 것입니다.

반환합니다:

  • (true | false)

    방금 생성된 경우 true이고, 생성되지 않은 경우 false입니다.



42
43
44
# 파일 'lib/mongoid/stateful.rb', 42줄

def 이전에_신규_기록?
  @previously_new_record ||= 거짓
end

#이전에_지속된?true | false

문서가 이전에 데이터베이스에 저장되었지만 지금은 삭제되었는지 확인합니다.

반환합니다:

  • (true | false)

    지속되었지만 지금은 폐기되면 true이고, 그렇지 않으면 false입니다.



62
63
64
# 파일 'lib/mongoid/stateful.rb', 62줄

def 이전에_지속적인?
  !new_record? && 파괴?
end

#pushable?true | false

문서 를 푸시할 수 있는지 확인합니다.

예시:

푸시 가능한가요?

person.pushable?

반환합니다:

  • (true | false)

    문서 가 새 문서이며 내장된 문서입니까?



97
98
99
100
101
102
# 파일 'lib/mongoid/stateful.rb', 97줄

def 푸시 가능?
  new_record? &&
    embedded_many? &&
    _parent.지속되었나요? &&
    !_parent.delay_atomic_sets[atomic_path]
end

#읽기 전용!true | false

문서 에 읽기 전용 플래그를 지정합니다. 문서 를 저장, 업데이트 또는 파기하려고 하면 ReadonlyDocument 오류가 발생합니다.

예시:

문서에 읽기 전용 플래그를 지정합니다.

document.readonly!

반환합니다:

  • (true | false)

    문서 가 성공적으로 읽기 전용으로 표시되면 true 이고, 그렇지 않으면 false 입니다.



112
113
114
115
116
117
118
119
# 파일 'lib/mongoid/stateful.rb', 112줄

def 읽기 전용!
  만약 몽고이드.legacy_readonly
    몽고이드::경고.경고_레거시_읽기 전용
    거짓
  other
    @readonly = true
  end
end

#읽기 전용?true | false

문서 가 읽기 전용인가요?

예시:

문서 가 읽기 전용인가요?

document.readonly?

반환합니다:

  • (true | false)

    문서 가 읽기 전용인 경우.



127
128
129
130
131
132
133
# 파일 'lib/mongoid/stateful.rb', 127줄

def 읽기 전용?
  만약 몽고이드.legacy_readonly
    __selected_fields != nil
  other
    @readonly ||= 거짓
  end
end

#설정 가능?true | false

문서 를 설정하다 수 있는지 확인합니다.

예시:

설정 가능한가요?

person.settable?

반환합니다:

  • (true | false)

    이 문서가 새로운 임베딩 문서인가요?



141
142
143
# 파일 'lib/mongoid/stateful.rb', 141줄

def 설정 가능?
  new_record? && embedded_one? && _parent.지속되었나요?
end

#updateable?true | false

문서 를 업데이트할 수 있나요?

예시:

문서 를 업데이트할 수 있나요?

person.updateable?

반환합니다:

  • (true | false)

    문서 가 변경되고 유지되는 경우.



151
152
153
# 파일 'lib/mongoid/stateful.rb', 151줄

def 업데이트 가능?
  지속되었나요? && 변경되었나요?
end