class Dieta

Clase dieta base. Almacena un menú, indicando aspectos, tales como, porcentaje de ingesta, VCT, proteínas, grasas, hidratos y los platos

Attributes

VCT[R]
grasas[R]
hidratos[R]
platos[R]
porcentaje_ingesta[R]
proteinas[R]
titulo[R]

Public Class Methods

new(titulo=0, porcentaje_ingesta=0, nplatos=0, vct=0, proteinas=0, grasas=0, hidratos=0, *des_platos) { |self| ... } click to toggle source

constructor

# File lib/prct06/Dieta.rb, line 9
  def initialize (titulo=0, porcentaje_ingesta=0, nplatos=0, vct=0, proteinas=0, grasas=0, hidratos=0, *des_platos, &block)
          @name = titulo
          @platos = []


          if block_given?
if block.arity == 1
  yield self
else
 instance_eval(&block)
end
          else
                  @titulo = titulo
                  @porcentaje_ingesta = porcentaje_ingesta
                  @nplatos = nplatos

                  @platos = []
                  for i in 0..nplatos-1 do
                          aux = [des_platos[i][0], des_platos[i][1], des_platos[i][2]]
                          @platos.push(aux)
                  end

                  @VCT = vct
                  @proteinas = proteinas
                  @grasas = grasas
                  @hidratos = hidratos

          end
  end

Public Instance Methods

<=>(other) click to toggle source
# File lib/prct06/Dieta.rb, line 67
def <=> (other)
        @VCT <=>  other.VCT
end
ingesta(options = {}) click to toggle source
# File lib/prct06/Dieta.rb, line 45
def ingesta(options = {})

        @porcentaje_ingesta = "#{options[:min]}-#{options[:max]}"

end
nplatos() click to toggle source
# File lib/prct06/Dieta.rb, line 62
def nplatos
        @platos.length
end
plate(options = {}) click to toggle source
# File lib/prct06/Dieta.rb, line 51
def plate(options = {})
        @platos << ["#{options[:descripcion]}", "#{options[:porcion]}", options[:gramos]]
end
plato(n) click to toggle source
# File lib/prct06/Dieta.rb, line 71
def plato (n)
        if n > @platos.length || n < 1 then
                return ""
        end
        return @platos[n-1]
end
porcentajes(options = {}) click to toggle source
# File lib/prct06/Dieta.rb, line 55
def porcentajes(options = {})
        @VCT = options[:vct] if options[:vct]
        @proteinas = options[:proteinas] if options[:proteinas]
        @grasas = options[:grasas] if options[:grasas]
        @hidratos = options[:hidratos] if options[:hidratos]
end
title(name) click to toggle source
# File lib/prct06/Dieta.rb, line 39
def title(name)

        @titulo = name

end
to_s() click to toggle source

Muestra el menú correctamente formateado

# File lib/prct06/Dieta.rb, line 79
def to_s
        x = ""
        x << "#{@titulo} (#{@porcentaje_ingesta}%)\n"

        @platos.each do |i|
                x << "- #{i[0]}, #{i[1]}, #{i[2]}g\n"
        end

        x << "V.C.T | %    #{@VCT} kcal | #{@proteinas} #{@grasas} #{@hidratos}"
end