Módulo: Mongoid::Serializable

Ampliado por:
ActiveSupport::Concern
Incluido en:
Compuesto
Definido en:
lib/mongoid/serializable.rb

Overview

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

Resumen del método de instancia colapsar

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

Obtén el hash serializable con opciones.

document.serializable_hash(:include => :addresses)

Parámetros:

  • opciones (Hash) (predeterminado: nulo)

    Las opciones a pasar.

Opciones Hash (options):

  • except (Símbolo| Cadena | Matriz<Símbolo | Cadena>)

    No incluya este(s) campo(s).

  • 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:

  • (encriptada)

    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 = field_names(opciones)

  method_names = Arreglo.envolver(opciones[:métodos]).map hacer |Nombre|
    Nombre.to_s si respond_to?(Nombre)
  end.compact

  (nombres + method_names).cada hacer |Nombre|
    without_autobuild hacer
      atributo_serializar(attrs, Nombre, nombres, opciones)
    end
  end
  serialize_relations(attrs, opciones) si opciones[incluir]
  attrs
end