Class: Dieta::Menu

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/dieta/dieta_m.rb

Overview

Clase menú

Direct Known Subclasses

GruposAlimentos, GruposEdad, Menu_DSL

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cabecera, platos, informacion) ⇒ Menu

Inicializa la lista



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/dieta/dieta_m.rb', line 25

def initialize(cabecera, platos, informacion)

    @titulo       = cabecera[0]            
    @porcentaje   = cabecera[1].to_s + "-" + cabecera[2].to_s + "%"            
    @platos       = platos            
    @VCT          = informacion[0]            
    @kilocalorias = informacion[1]            
    @proteinas    = informacion[2]            
    @grasas       = informacion[3]            
    @hidratos     = informacion[4]

end

Instance Attribute Details

#grasasObject

Variable que almacena la información de las grasas del manú



20
21
22
# File 'lib/dieta/dieta_m.rb', line 20

def grasas
  @grasas
end

#hidratosObject

Variable que almacena la información de los hidratos del manú



22
23
24
# File 'lib/dieta/dieta_m.rb', line 22

def hidratos
  @hidratos
end

#kilocaloriasObject

Variable que almacena la información de las kilocalorias del manú



16
17
18
# File 'lib/dieta/dieta_m.rb', line 16

def kilocalorias
  @kilocalorias
end

#platosObject

Array que almacena los platos que forman parte del menú



12
13
14
# File 'lib/dieta/dieta_m.rb', line 12

def platos
  @platos
end

#porcentajeObject

Array que almacena los porcentajes del menú en concreto



10
11
12
# File 'lib/dieta/dieta_m.rb', line 10

def porcentaje
  @porcentaje
end

#proteinasObject

Variable que almacena la información de las proteínas del manú



18
19
20
# File 'lib/dieta/dieta_m.rb', line 18

def proteinas
  @proteinas
end

#tituloObject

Variable que almacena el título del menú



8
9
10
# File 'lib/dieta/dieta_m.rb', line 8

def titulo
  @titulo
end

#VCTObject

Variable que almacena la información de VCT del manú



14
15
16
# File 'lib/dieta/dieta_m.rb', line 14

def VCT
  @VCT
end

Instance Method Details

#<=>(anOther) ⇒ Object

Compara la cantidad de platos entre dos menús

Parameters:

  • anOther

    otro elemento menú con el que comparar



69
70
71
# File 'lib/dieta/dieta_m.rb', line 69

def <=>(anOther)
    @platos.length <=> anOther.get_pt.length
end

#get_descripcion(numero) ⇒ Object

Devuelve la descripción del plato

Parameters:

  • numero

    el número del plato en concreto



46
47
48
# File 'lib/dieta/dieta_m.rb', line 46

def get_descripcion(numero)
    @platos[numero][0]
end

#get_ingesta(numero) ⇒ Object

Devuelve la ingesta del plato

Parameters:

  • numero

    el número del plato en concreto



58
59
60
# File 'lib/dieta/dieta_m.rb', line 58

def get_ingesta(numero)
    @platos[numero][2]
end

#get_plato(numero) ⇒ Object

Devuelve un plato que contiene un array de elementos

Parameters:

  • numero

    el número del plato en concreto



40
41
42
# File 'lib/dieta/dieta_m.rb', line 40

def get_plato(numero)
    @platos[numero]
end

#get_porcion(numero) ⇒ Object

Devuelve la porción del plato

Parameters:

  • numero

    el número del plato en concreto



52
53
54
# File 'lib/dieta/dieta_m.rb', line 52

def get_porcion(numero)
    @platos[numero][1]
end

#get_ptObject

Devuelve el array de los platos



63
64
65
# File 'lib/dieta/dieta_m.rb', line 63

def get_pt
    @platos
end

#to_sObject

Método a string



74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/dieta/dieta_m.rb', line 74

def to_s

    mostrar = "#{@titulo} (#{@porcentaje})\n"

    i = 0;
    while i < @platos.length
        mostrar += "- #{@platos[i][0]}, #{platos[i][1]}, #{platos[i][2]}\n"
        i+=1
    end

    mostrar += "V.C.T. #{@VCT} #{@kilocalorias} kcal | #{@proteinas}% - #{@grasas}% - #{@hidratos}%\n"

end