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
Public Class Methods
Constructor de GrupoAlimenticio
@param [String] categoria categoria del grupo alimenticio
@return [GrupoAlimenticio] Devuelve el objeto creado de clase GrupoAlimenticio
# File lib/alimento/GrupoAlimenticio.rb, line 17 def initialize(categoria) super() @categoria = categoria end
Public Instance Methods
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
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
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
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