Módulo: Mongoid::Contextual::Agregable::Memoria
- Incluido en:
- Memoria
- Definido en:
- lib/mongoid/contextual/agregable/memoria.rb
Overview
Contiene comportamiento para agregar valores en la memoria.
Colapso del resumen del método de instancia
-
#agregados(campo) ⇒ Hash
Obtenga todos los valores agregados para el campo proporcionado.
-
#avg(campo) ⇒ Numérico
Obtenga el valor promedio del campo proporcionado.
-
# máx. (campo = nulo) ⇒ Numérico |Documento
Obtenga el valor máximo del campo proporcionado.
-
#min(campo = nil) ⇒ Numérico | documento
Obtenga el valor mínimo del campo proporcionado.
-
#suma(campo = nulo) ⇒ Numérico
Obtenga el valor de la suma del campo proporcionado.
Detalles del método de instancia
#agregados(campo) ⇒ Hash
Obtiene todos los valores agregados del campo proporcionado. Se proporciona para mantener la coherencia de la interfaz con Aggregable::Mongo.
18 19 20 21 22 |
# Archivo 'lib/mongoid/contextual/aggregable/memory.rb', línea 18 def agregados(Campo) %w(count suma promedio min máximo).cada_con_objeto({}) hacer |Método, hash| hash[Método] = Enviar(Método, Campo) end end |
#avg(campo) ⇒ Numérico
Obtenga el valor promedio del campo proporcionado.
32 33 34 35 36 37 38 |
# Archivo 'lib/mongoid/contextual/aggregable/memory.rb', línea 32 def promedio(Campo) total = count { |doc| !doc.Enviar(Campo).nil? } return nulo a no ser que total > 0 total = total.to_f Si total.is_a?(entero) suma(Campo) / total end |
# máx. (campo = nulo)⇒ Numérico | Documento
Obtiene el valor máximo del campo proporcionado. Si se proporciona un bloque, se devolverá el documento con el mayor valor para el campo, de acuerdo con la API enumerable de Ruby.
56 57 58 59 60 |
# Archivo 'lib/mongoid/contextual/aggregable/memory.rb', línea 56 def máximo(Campo = nulo) return Super() Si ¿bloque_dado? agregado_por(Campo, :máximo) end |
#min(campo = nulo) ⇒ Numérico | Documento
Obtiene el valor mínimo del campo proporcionado. Si se proporciona un bloque, se devolverá el documento con el valor mínimo para el campo, de acuerdo con la API enumerable de Ruby.
78 79 80 81 82 |
# Archivo 'lib/mongoid/contextual/aggregable/memory.rb', línea 78 def min(Campo = nulo) return Super() Si ¿bloque_dado? agregado_por(Campo, :min) end |
#suma(campo = nulo) ⇒ Numérico
Obtiene el valor de la suma del campo proporcionado. Si se proporciona un bloque, se devolverá la suma según la API enumerable de Ruby.
97 98 99 100 101 |
# Archivo 'lib/mongoid/contextual/aggregable/memory.rb', línea 97 def suma(Campo = nulo) return Super(Campo || 0) Si ¿bloque_dado? agregado_por(Campo, :suma) || 0 end |