class GrupoAlimenticio

Representación de un grupo alimenticio con categoría Hereda de Lista

@author Eugenio José González Luis @since 1.0.0 @attr_reader String categoria categoria del grupo alimenticio representado @attr_reader Node head Nodo en la cabeza de la lista @attr_reader Node tail Nodo en la última posición de la lista

Constants

VERSION

Version de la clase GrupoAlimenticio

Attributes

categoria[R]

Public Class Methods

new(categoria) click to toggle source

Constructor de GrupoAlimenticio @param [String] categoria categoria del grupo alimenticio

@return [GrupoAlimenticio] Devuelve el objeto creado de clase GrupoAlimenticio

Calls superclass method
# File lib/alimento/GrupoAlimenticio.rb, line 16
def initialize(categoria)
    super()
    @categoria = categoria
end

Public Instance Methods

pop_alimento() click to toggle source

Extracción del primer AlimentoCategorizable del GrupoAlimenticio

@return [any, nil] devuelve el valor guardado en el primer nodo o nil si no hay nodos en el GrupoAlimenticio

# File lib/alimento/GrupoAlimenticio.rb, line 46
def pop_alimento()
    pop_head()
end
push_alimento(x) click to toggle source

Inserción de AlimentoCategorizable por la cabeza de la lista del GrupoAlimenticio @param [any] x valor del nuevo nodo

@return [Node] Devuelve el head

# File lib/alimento/GrupoAlimenticio.rb, line 25
def push_alimento(x)
    if(x.is_a?(AlimentoCategorizable))
        push_head(AlimentoCategorizable.new(x.nombre, @categoria, x.glucidos, x.proteinas, x.lipidos))
    end
end
push_alimentos(x) click to toggle source

Inserción de varios AlimentoCategorizable por la cabeza de la lista del GrupoAlimenticio @param [Array<any>] x valores de los nuevos nodos

@return [Node] Devuelve el head

# File lib/alimento/GrupoAlimenticio.rb, line 35
def push_alimentos(x)
    x.each do |alimento|
        if(alimento.is_a?(AlimentoCategorizable))
            push_head(AlimentoCategorizable.new(alimento.nombre, @categoria, alimento.glucidos, alimento.proteinas, alimento.lipidos))
        end
    end
end