class Menu
Clase que implementa un menú dietético. @author alu0100895179 @attr_reader [char] titulo Título para el menú (ej. desayuno, almuerzo, etc.) @attr_reader [array] porcentaje Array con el rango de porcentajes de ingesta diaria @attr_reader [array] platos Array con los diferentes platos del menú con los elementos descripción, porciones e ingesta @attr_reader [char] vct Cadena que almacena el valor calórico total @attr_reader [array] porcentaje_pgh
Array con los valores para los porcentajes de proteínas, grasas e hidratos respectivamente
Attributes
Public Class Methods
Método que inicializa el menú almacenando los datos necesatios.
@param [char] titulo Título para el menú (ej. desayuno, almuerzo, etc.) @param [array] porcentaje Array con el rango de porcentajes de ingesta diaria @param [array] platos Array con los diferentes platos del menú con los elementos descripción, porciones e ingesta @param [char] vct Cadena que almacena el valor calórico total @param [array] porcentaje_pgh
Array con los valores para los porcentajes de proteínas, grasas e hidratos respectivamente
# File lib/dieta/menu.rb, line 21 def initialize(titulo ="", porcentaje = [], platos =[], vct ="", porcentaje_pgh=[], &block) @titulo, @porcentaje, @platos, @vct, @porcentaje_pgh= titulo, porcentaje, platos, vct, porcentaje_pgh if(block_given?) instance_eval(&block) end end
Public Instance Methods
Método que los menús sean comparables, indica que se debe comparar el valor calórico total. @param [Menu] nuevo Objeto menú con el que se va a comparar @return [bool] Retorna si se comple positivamente la comparación o no
# File lib/dieta/menu.rb, line 85 def <=>(nuevo) @vct<=>nuevo.vct end
Método para obtener el porcentaje de ingesta.
@return [array] Retorna el rango de porcentajes
# File lib/dieta/menu.rb, line 45 def get_ingesta() @porcentaje end
Método para obtener el array de porcentajes de proteínas grasas e hidratos.
@return [array] Retorna el array de porcentajes de proteínas grasas e hidratos
# File lib/dieta/menu.rb, line 57 def get_pgh() @porcentaje_pgh end
Método para obtener un elemento de un plato. @param [int] i Coordenada que nos permitirá saber de qué plato se quiere extraer información @param [int] j Coordenada que nos permitirá saber que información se quiere extraer del plato especificado @return [array_possition] Retorna un valor determinado de un plato en específico
# File lib/dieta/menu.rb, line 39 def get_platos(i,j) @platos[i][j] end
Método para obtener el titulo.
@return [char] Retorna el título para del menú (ej. desayuno, almuerzo, etc.)
# File lib/dieta/menu.rb, line 31 def get_titulo() @titulo end
Método para obtener el valor calórico total.
@return [char] Retorna el valor calórico total
# File lib/dieta/menu.rb, line 51 def get_vct() @vct end
# File lib/dieta/menu.rb, line 95 def ingesta(options = {}) @porcentaje << options[:min] @porcentaje << options[:max] if options[:max] end
# File lib/dieta/menu.rb, line 102 def plato(plato={}) plato2 = [] plato2 << plato[:descripcion] plato2 << plato[:porcion] plato2 << plato[:gramos] @platos << plato2 end
# File lib/dieta/menu.rb, line 112 def porcentajes(porcentajes = {}) @vct = porcentajes[:vct] @porcentaje_pgh << porcentajes[:proteinas] @porcentaje_pgh << porcentajes[:grasas] @porcentaje_pgh << porcentajes[:hidratos] end
# File lib/dieta/menu.rb, line 91 def titulo_(title) @titulo=title end
Método para mostrar en el formato especificado. @return [char] Retorna una cadena de caracteres con el texto para mostrar el menú formateado correctamente
# File lib/dieta/menu.rb, line 63 def to_s() x = "" x << "#{@titulo}" if porcentaje.size == 2 x << " (#{@porcentaje[0]} - #{@porcentaje[1]}%)\n" else x << " (#{@porcentaje[0]}%)\n" end i=0 while (i<platos.length()) x << "- #{@platos[i][0]}, #{@platos[i][1]}, #{@platos[i][2]} g\n" i+=1 end x << "V.C.T. | % #{@vct} | #{@porcentaje_pgh[0]}% - #{@porcentaje_pgh[1]}% - #{@porcentaje_pgh[2]}%\n" x end