Class: Menu

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/menudietetico/menu.rb

Overview

Almacena menús.

Direct Known Subclasses

Edades, Grupos_alimentos

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(titulo, menu, porciones, gramos, porcentajes, &block) ⇒ Menu

Constructor de la clase Menu. Argumentos: título del menú, componentes del menú, porciones de cada plato, gramos de cada plato y porcentajes de calorías, grasas, proteínas e hidratos.



9
10
11
12
13
14
15
16
17
18
# File 'lib/menudietetico/menu.rb', line 9

def initialize(titulo, menu, porciones, gramos, porcentajes, &block)
    @titulo = titulo
    @menu = menu
    @porciones = porciones
    @gramos = gramos
    @porcentajes = porcentajes
    @contador = 0
    @n_porcentajes = porcentajes.collect{|i| i.scan(/\d+,?\d+/)}
    
end

Instance Attribute Details

#gramosObject

Returns the value of attribute gramos.



87
88
89
# File 'lib/menudietetico/menu.rb', line 87

def gramos
  @gramos
end

Returns the value of attribute menu.



85
86
87
# File 'lib/menudietetico/menu.rb', line 85

def menu
  @menu
end

#n_porcentajesObject

Returns the value of attribute n_porcentajes.



89
90
91
# File 'lib/menudietetico/menu.rb', line 89

def n_porcentajes
  @n_porcentajes
end

#porcentajesObject

Returns the value of attribute porcentajes.



88
89
90
# File 'lib/menudietetico/menu.rb', line 88

def porcentajes
  @porcentajes
end

#porcionesObject

Returns the value of attribute porciones.



86
87
88
# File 'lib/menudietetico/menu.rb', line 86

def porciones
  @porciones
end

#tituloObject

Returns the value of attribute titulo.



84
85
86
# File 'lib/menudietetico/menu.rb', line 84

def titulo
  @titulo
end

Instance Method Details

#<=>(value) ⇒ Object

Definición de las comparaciones para el módulo Comparable



21
22
23
24
# File 'lib/menudietetico/menu.rb', line 21

def <=>(value)
  return nil unless value.instance_of? Menu
  @n_porcentajes <=> value.n_porcentajes
end

#get_grasasObject

Muestra el porcentaje de grasas del menú



61
62
63
64
# File 'lib/menudietetico/menu.rb', line 61

def get_grasas
    out = "#{@porcentajes[2]}"
     return out
end

#get_hidratosObject

Muestra el porcentaje de hidratos del menú



67
68
69
70
# File 'lib/menudietetico/menu.rb', line 67

def get_hidratos
    out = "#{@porcentajes[3]}"
     return out
end

#get_ingestaObject

Muestra la ingesta diaria



33
34
35
36
# File 'lib/menudietetico/menu.rb', line 33

def get_ingesta
     out = "#{@titulo[1]}"
     return out
end

#get_platosObject

Muestra todos los platos del menú



39
40
41
42
43
44
45
46
# File 'lib/menudietetico/menu.rb', line 39

def get_platos
    @explicacion = ""
     @menu.each do |item2|
        @explicacion << "- #{item2}, #{@porciones[@contador]}, #{@gramos[@contador]}\n"
        @contador+=1
    end
   return "#{@explicacion}"
end

#get_proteinasObject

Muestra el porcentaje de proteínas del menú



55
56
57
58
# File 'lib/menudietetico/menu.rb', line 55

def get_proteinas
    out = "#{@porcentajes[1]}"
     return out
end

#get_vctObject

Muestra el Valor Calórico Total del menú



49
50
51
52
# File 'lib/menudietetico/menu.rb', line 49

def get_vct
    out = "#{@porcentajes[0]}"
     return out
end

#mostrar_platoObject

Muestra el primer plato del menú



27
28
29
30
# File 'lib/menudietetico/menu.rb', line 27

def mostrar_plato
     out = "#{@menu[0]}, " + "#{@porciones[0]}, " + "#{@gramos[0]}"
     return out
end

#to_sObject

Muestra el menú por pantalla



73
74
75
76
77
78
79
80
81
82
# File 'lib/menudietetico/menu.rb', line 73

def to_s
    @explicacion = "#{@titulo[0]} " + "#{@titulo[1]}\n"
     @menu.each do |item2|
        @explicacion << "- #{item2}, #{@porciones[@contador]}, #{@gramos[@contador]}\n"
        @contador+=1
    end
    
    @explicacion << "#{@porcentajes[0]}" + "#{@porcentajes[1]}-" + "#{@porcentajes[2]}-" + "#{@porcentajes[3]}\n"
   return "#{@explicacion}"
end