Módulo: Mongoid::Serializable

Ampliado por:
ActiveSupport::Preocupación
Incluido en:
Componible
Definido en:
lib/mongoid/serializable.rb

Overview

Este módulo proporciona el comportamiento adicional para incluir asociaciones en la serialización JSON y XML.

Colapso del resumen del método de instancia

Detalles del método de instancia

#serializable_hash(options = nil) ⇒ Hash

Obtiene el documento como un hash serializable, utilizado por el serializador JSON de ActiveModel.

Ejemplos:

Obtenga el hash serializable.

document.serializable_hash

Obtenga el hash serializable con opciones.

document.serializable_hash(:include => :addresses)

Parámetros:

  • opciones (Hash) (predeterminado: nulo)

    Las opciones a pasar.

Opciones Hash(opciones):

  • :excepto (Símbolo| Cadena | Matriz<Símbolo | Cadena>)

    No incluya estos campos.

  • :incluir (Símbolo| Cadena | Matriz<Símbolo | Cadena>)

    Qué asociación(es) incluir.

  • :solo (Símbolo| Cadena | Matriz<Símbolo | Cadena>)

    Limite los campos únicamente a estos.

  • :métodos (Símbolo| Cadena | Matriz<Símbolo | Cadena>)

    ¿Qué métodos incluir?

Devuelve:

  • (Hash)

    El documento, listo para ser serializado.



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Archivo 'lib/mongoid/serializable.rb', línea 47

def serializable_hash(opciones = nulo)
  opciones ||= {}
  attrs = {}

  nombres = nombres de campo(opciones)

  nombres_de_método = Arreglo.envolver(opciones[:métodos]).map hacer |Nombre|
    Nombre.a_s Si respond_to?(Nombre)
  end.compact

  (nombres + nombres_de_método).cada hacer |Nombre|
    sin_autoconstrucción hacer
      atributo_serializar(attrs, Nombre, nombres, opciones)
    end
  end
  serialize_relations(attrs, opciones) Si opciones[:incluir]
  attrs
end