Class: Dieta

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

Overview

Clase Diesta que es utilizada para crear menus dieteticos

Direct Known Subclasses

Dieta_alimento, Dieta_edad

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(receta, vct, ingesta, proteinas, grasas, hidratos) ⇒ Dieta

Initalizaer que crea una dieta en funcion de unos parametros



29
30
31
32
33
34
35
36
37
38
# File 'lib/menu/dieta.rb', line 29

def initialize(receta, vct, ingesta, proteinas, grasas, hidratos)

    @titulo = receta
    @vct = vct
    @ingesta = ingesta
    @proteinas = proteinas
    @grasas = grasas
    @hidratos = hidratos
    @platos = []
end

Instance Attribute Details

#grasasObject

Atributo con la cantidad de grasas del menu



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

def grasas
  @grasas
end

#hidratosObject

Atributo con la cantidad de hidratos del menu



23
24
25
# File 'lib/menu/dieta.rb', line 23

def hidratos
  @hidratos
end

#ingestaObject

Atributo que contiene el porcentaje ingesta calorica diario del menu



11
12
13
# File 'lib/menu/dieta.rb', line 11

def ingesta
  @ingesta
end

#platosObject

Atributo que guarda el conjunto de platos del menu. Al crearse el menu este atributo esta inicialmente vacio y hay que meter los platos manualmente mediante el metodo setPlato



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

def platos
  @platos
end

#proteinasObject

Atributo con la cantidad de proteinas del menu



17
18
19
# File 'lib/menu/dieta.rb', line 17

def proteinas
  @proteinas
end

#tituloObject

Atributo con el titulo del menu



5
6
7
# File 'lib/menu/dieta.rb', line 5

def titulo
  @titulo
end

#vctObject

Atributo con el valor calorico total del menu



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

def vct
  @vct
end

Instance Method Details

#<=>(other) ⇒ Object

Metodo <=> que sirve para que le menu sea comparable



42
43
44
# File 'lib/menu/dieta.rb', line 42

def <=>(other)
    @vct <=> other.vct
end

#==(other) ⇒ Object

Metodo == que sobreescribe el para que mire si la proteinas grasas e hidratos sean iguales



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/menu/dieta.rb', line 48

def ==(other)
    if @proteinas == other.proteinas then
        if @grasas == other.grasas then
            if @hidratos == other.hidratos then
                return true
            else
                return false
            end
        else
            return false
        end
    else
        return false
    end
end

#setPlato(descripcion, porcion, gramos) ⇒ Object

Metodo para introducir platos al menu



66
67
68
# File 'lib/menu/dieta.rb', line 66

def setPlato(descripcion, porcion, gramos)
    @platos << Plato.new(descripcion, porcion, gramos)
end

#to_sObject

Metodo to_s que devuelve un string con el menu formateado



72
73
74
75
76
77
78
# File 'lib/menu/dieta.rb', line 72

def to_s
    s = "#{titulo} (#{ingesta}%)\n"
    platos.each do |comida|
        s << "- #{comida.descripcion}, #{comida.porcion}, #{comida.gramos} g\n" 
    end
    s << "V.C.T. | % #{vct} kcal | #{proteinas}% - #{grasas}% - #{hidratos}%"
end