class GrupoAlimenticio

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

@author Sebastian Jose Diaz Rodriguez @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 17
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 47
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 26
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 36
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
to_s() click to toggle source

Convierte el objeto en un String @return [String] tabla de alimentos que conforman el grupo

# File lib/alimento/GrupoAlimenticio.rb, line 53
def to_s
    x = categoria + "\n"
    titles = "#{" " * 21}%-10s %-10s %-10s\n" % ["proteínas", "glúcidos", "lípidos"]
    x += titles
    each do |alimento|
        x += Alimento.instance_method(:to_s).bind(alimento).call + "\n"
    end
    x += "\n"
    return x
end