#Author: Eduardo de la Paz González require "prct06/version" class Dieta #accessor para cada variable attr_accessor :nombre, :title, :ingestas, :platos, :porcentajes def initialize(nombre,&block) self.nombre = nombre self.title = "" self.ingestas = [] self.platos =[] self.porcentajes = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end #Definición del método to_s para mostrar el menú por pantalla #def to_s # mostrar = "" # mostrar << "\n\n#{nombre} (#{ingestas.join(', ')} %)\n" # for i in 0..(@conjplatos-1) # mostrar << "- #{@descripcion[i]}, #{@porciones[i]}, #{@ingengr[i]}\n" # end # mostrar << "V.C.T | % #{@porcentajes[0]} kcal | #{@porcentajes[1]}% - #{@porcentajes[2]}% - #{@porcentajes[3]}%\n" #end def titulo(name_) self.title= name_ end def ingesta (opciones = {}) ingestas << "(#{opciones[:min]})" if opciones[:min] ingestas << "(#{opciones[:max]})" if opciones[:max] end def plato (opciones = {}) plat = "(#{opciones[:descripcion]})" if opciones[:descripcion] plat << "(#{opciones[:porciones]})" if opciones[:porciones] plat << "(#{opciones[:gramos]})" if opciones[:gramos] platos << plat end def porcentaje (opciones = {}) porcentajes << "(#{opciones[:vct]})" if opciones[:vct] porcentajes << "(#{opciones[:proteinas]})" if opciones[:proteinas] porcentajes << "(#{opciones[:grasas]})" if opciones[:grasas] porcentajes << "(#{opciones[:hidratos]})" if opciones[:hidratos] end end