Módulo: Mongoid::Association::Builders
- Ampliado por:
- ActiveSupport::Concern
- Incluido en:
- Mongoid::Association
- Definido en:
- lib/mongoid/association/builders.rb
Overview
Este módulo es responsable de definir las métodos de construcción y creación que se utilizan en las asociaciones uno a uno.
Resumen del método de clase colapsar
-
.define_builder!(asociación) ⇒ Clase
Define un método constructor.
-
.define_creator!(asociación) ⇒ Clase
Define un método creador.
Detalles del método de clase
.define_builder!(asociación) ⇒ Clase
Define un método builder. Esto se define como #build_name.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# Archivo 'lib/mongoid/association/desarrolladores.rb', línea 47 def sí mismo.define_builder!(asociación) asociación.clase_inversa.tocar hacer |klass| klass.re_define_method("build_#{association.nombre}") hacer |*args| atributos, tipo, _opts = parse_args(args) Documento = Fábrica.execute_build(tipo || asociación.relation_class, atributos, execute_callbacks: false) _edificio hacer niño = enviar("#{asociación.nombre}=", Documento) niño.ejecutar_llamadas_pendientes niño.run_callbacks(compilar) niño end end end end |
.define_creator!(association) ⇒ Class
Define un método de creador. Esto se define como #create_name. Después de que se compile el objeto, este se guardará inmediatamente.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# Archivo 'lib/mongoid/association/desarrolladores.rb', línea 72 def sí mismo.define_creator!(asociación) asociación.clase_inversa.tocar hacer |klass| klass.re_define_method("创作_#{协会.名称}") hacer |*args| atributos, tipo, _opts = parse_args(args) Documento = Fábrica.execute_build(tipo || asociación.relation_class, atributos, execute_callbacks: false) doc = asignando hacer enviar("#{asociación.nombre}=", Documento) end doc.ejecutar_llamadas_pendientes doc.guardar guardar si nuevo_registro? && asociación.¿stores_foreign_key? doc end end end |