class Menu
Clase Menú que almacena los platos y valores nutricionales @author alu0100880625 @attr_reader [Array] encabezado Array de Strings que almacena el título y el porcentaje de ingesta diaria @attr_reader [Array] platos Array bidimensional de Strings que almacena los ingredientes y cantidades, la forma de cocinar y las unidades @attr_reader [Array] valores Array que contiene los valores nutricionales y porcentajes
Attributes
Public Class Methods
Método que instancia un objeto de la clase @param [Array] encabezado Array de Strings que almacena el título y el porcentaje de ingesta diaria @param [Array] platos Array bidimensional de Strings que almacena los ingredientes y cantidades, la forma de cocinar y las unidades @param [Array] valores Array que contiene los valores nutricionales y porcentaes @return [Object]
# File lib/dieta/menu.rb, line 14 def initialize(encabezado=[], platos=[], valores=[], &block) @encabezado, @platos, @valores = encabezado, platos, valores if(block_given?) instance_eval(&block) end end
Public Instance Methods
Método comparativo necesario para el módulo Comparable @return [Bool] resultado de la comparación de los valores nutricionales
# File lib/dieta/menu.rb, line 69 def <=>(other) @valores <=> other.valores end
Método que retorna el cantidad de grasas del menú @return [Double] número de grasas
# File lib/dieta/menu.rb, line 48 def get_grasas @valores[2] end
Método que retorna el cantidad de hidratos del menú @return [Double] número de hidratos
# File lib/dieta/menu.rb, line 53 def get_hidratos @valores[3] end
Método que retorna el porcentaje de ingesta diaria @return [String] porcentaje de ingesta
# File lib/dieta/menu.rb, line 33 def get_ingesta @encabezado[1] end
Método que retorna el i-ésimo platos @param [Int] i plato que queremos consultar @return [Array] array bidimensional con la información del plato
# File lib/dieta/menu.rb, line 23 def get_plato(i) @platos[i-1] end
Método que retorna el cantidad de proteinas del menú @return [Double] número de proteinas
# File lib/dieta/menu.rb, line 43 def get_proteinas @valores[1] end
Método que retorna el título @return [String] título del menú
# File lib/dieta/menu.rb, line 28 def get_titulo @encabezado[0] end
Método que retorna el número de kCal del menú @return [Double] número de kCAl
# File lib/dieta/menu.rb, line 38 def get_vct @valores[0] end
# File lib/dieta/menu.rb, line 77 def plato(options) plato = [] plato << "#{options[:nombre]}" plato << "#{options[:raciones]}" plato << "#{options[:cantidad]}" @platos << plato end
# File lib/dieta/menu.rb, line 73 def titulo(options) @encabezado << "#{options[:nombre]}" @encabezado << "#{options[:ingesta]}" end
Método que formatea el menú para mostrarlo @return [String] cadena que contiene el menú formateado
# File lib/dieta/menu.rb, line 58 def to_s aux=get_titulo+" ("+get_ingesta+")\n" i=0 while i<platos.length aux+="- #{@platos[i][0]}, #{@platos[i][1]}, #{@platos[i][2]}\n" i+=1 end aux+="V.C.T | %\t#{get_vct} kcal | #{get_proteinas}% - #{get_grasas}% - #{get_hidratos}%\n" end
# File lib/dieta/menu.rb, line 85 def valor(options) @valores << options[:kcal] @valores << options[:proteinas] @valores << options[:grasas] @valores << options[:hidratos] end