class Menu::Menu

Clase Menu

Sirve para instanciar Objetos tipo Menu.

Attributes

grasas[R]
hidratos[R]
platos[R]
porcentaje[R]
proteinas[R]
titulo[R]
vct[R]

Public Class Methods

new(titulo, porcentaje, platos, vct, proteinas, grasas, hidratos) click to toggle source

Constructor

Pasamos los parametros para construir un objeto menú:

- Título: Título del menú.
- Porcentaje: Porcentaje en Kcal.
- Platos: Array de platos que contiene el menú.
- Vct: Valor Calórico total.
- Porcentaje de proteinas de la dieta.
- Porcentaje de grasas.
- Porcentaje de hidratos.
# File lib/menu/menucode.rb, line 19
def initialize (titulo, porcentaje, platos, vct, proteinas, grasas, hidratos)
    @titulo = titulo # - Título: Título del menú.
    @porcentaje = porcentaje # - Porcentaje: Porcentaje en Kcal.
    @platos = Array.new # - Platos: Array de platos que contiene el menú.
    platos.each{|x| @platos.push(Plato.new(x))}
    @vct = vct # - Vct: Valor Calórico total.
    @proteinas = proteinas # - Porcentaje de proteinas de la dieta.
    @grasas = grasas # - Porcentaje de grasas.
    @hidratos = hidratos # - Porcentaje de hidratos.
end

Public Instance Methods

<=>(anOther) click to toggle source
# File lib/menu/menucode.rb, line 30
def <=>(anOther)
    return nil if anOther == nil
    @vct <=> anOther.getVct
    #x = [@vct, @proteinas, @grasas, @hidratos]
    #y = [anOther.getVct, anOther.getProteinas, anOther.getGrasas, anOther.getHidratos]
    #x <=> y
end
==(anOther) click to toggle source
# File lib/menu/menucode.rb, line 38
def ==(anOther)
    return nil if anOther == nil
    x = [@vct, @proteinas, @grasas, @hidratos]
    y = [anOther.getVct, anOther.getProteinas, anOther.getGrasas, anOther.getHidratos]
    x == y
end
getConjuntoPlatos() click to toggle source
  • Devuelve un string en formato lista con los platos del Menú.

# File lib/menu/menucode.rb, line 99
def getConjuntoPlatos
    t = ""
    @platos.each{|x| t = t + x.to_s + "\n"}
    t
end
getDescripcion(x) click to toggle source
  • Devuelve la descripción de un plato del Menú.

# File lib/menu/menucode.rb, line 95
def getDescripcion (x)
    @platos[x].descripcion
end
getGrasas() click to toggle source
  • Devuelve el porcentaje de grasas del Menú.

# File lib/menu/menucode.rb, line 86
def getGrasas
    @grasas 
end
getHidratos() click to toggle source
  • Devuelve el porcentaje de hidratos de carbono del Menú.

# File lib/menu/menucode.rb, line 91
def getHidratos
    @hidratos 
end
getIngesta() click to toggle source
  • Devuelve el porcentaje de ls Ingesta Diaria recomendada.

# File lib/menu/menucode.rb, line 72
def getIngesta
    @porcentaje 
end
getPlato(index) click to toggle source
  • Devuelve el plato del índice indicado en el parámetro.

# File lib/menu/menucode.rb, line 62
def getPlato(index)
    @platos[index].to_s
end
getProteinas() click to toggle source
  • Devuelve el porcentaje de proteínas del Menú.

# File lib/menu/menucode.rb, line 81
def getProteinas
    @proteinas 
end
getTitulo() click to toggle source
  • Devuelve el título del Menú.

# File lib/menu/menucode.rb, line 67
def getTitulo
    @titulo
end
getVct() click to toggle source
  • Devuelve el Valor calórico total del Menú.

# File lib/menu/menucode.rb, line 76
def getVct
    @vct 
end
to_s() click to toggle source
  • Devuelve un string con el Menú completo correctamente formateado

# File lib/menu/menucode.rb, line 46
def to_s
   
    porcentaje = corregir_porcentaje
    
    @titulo + " (#{porcentaje}%)\n" + getConjuntoPlatos + "V.C.T. | % #{getVct} kcal | #{getProteinas}% - #{getGrasas}% - #{getHidratos}%\n"
end

Private Instance Methods

corregir_porcentaje() click to toggle source
# File lib/menu/menucode.rb, line 54
def corregir_porcentaje
    t = ""
    @porcentaje.each{|x| t = t + " - " + x.to_s}
    final = t[3,t.length]
    final
end