Class: DietaDia

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

Overview

Representación de un Menu dietetico

Author:

  • Eugenio Jose Gonzalez Luis

Since:

  • 1.0.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, &bloque) ⇒ DietaDia

Returns a new instance of DietaDia.

Since:

  • 1.0.0



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/dietaDia.rb', line 13

def initialize(nombre, &bloque)
    @conversiones = [
        ["1 rodaja", 28],
        ["1 porcion", 100],
        ["1 taza", 200],
        ["1/2 cucharon",20],
        ["1 pieza", 150],
        ["1 vaso", 100]]
    @nombre = nombre
    @desayuno = Menu.new()
    @almuerzo = Menu.new()
    @cena = Menu.new()
    if block_given?
        if bloque.arity == 1
            yield self
        else
            instance_eval(&bloque)
        end
    end
end

Instance Attribute Details

#almuerzo(options = {}) ⇒ Object (readonly)

Añade un almuerzo

Parameters:

  • options (defaults to: {})

    información sobre el alimento

Since:

  • 1.0.0



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

def almuerzo
  @almuerzo
end

#cena(options = {}) ⇒ Object (readonly)

Añade una cena

Parameters:

  • options (defaults to: {})

    información sobre el alimento

Since:

  • 1.0.0



99
100
101
# File 'lib/dietaDia.rb', line 99

def cena
  @cena
end

#conversionesObject (readonly)

Since:

  • 1.0.0



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

def conversiones
  @conversiones
end

#desayuno(options = {}) ⇒ Object (readonly)

Añade un desayuno

Parameters:

  • options (defaults to: {})

    información sobre el alimento

Since:

  • 1.0.0



76
77
78
# File 'lib/dietaDia.rb', line 76

def desayuno
  @desayuno
end

#nombreObject (readonly)

Since:

  • 1.0.0



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

def nombre
  @nombre
end

Instance Method Details

#<=>(other) ⇒ -1, ...

Metodo para comparar dos dietas

Parameters:

Returns:

  • (-1, 0, 1)

    -1 si es menor, 0 si son iguales, 1 si es mayor

Since:

  • 1.0.0



53
54
55
# File 'lib/dietaDia.rb', line 53

def <=>(other)
    kcal <=> other.kcal
end

#is_enough(persona, cantidad) ⇒ Boolean

metodo que calcula si una dieta es suficiente para un individuo dado

Parameters:

  • persona (Individuo)

    persona para la cual se calcula si es suficiente

  • cantidad (cantidad)

    de ejercicio que esa persona realiza

Returns:

  • (Boolean)

    devuelve si la dieta es o no suficiente para una persona

Since:

  • 1.0.0



45
46
47
48
# File 'lib/dietaDia.rb', line 45

def is_enough(persona, cantidad)
    x = kcal
    return (persona.gasto_energetico_total(cantidad) <= x * 1.1) && (persona.gasto_energetico_total(cantidad) >= x * 0.9)
end

#kcalNumber

metodo que calcula el coste calorico de una dieta diaria

Returns:

  • (Number)

    Coste calorico de la dieta diaria

Since:

  • 1.0.0



36
37
38
# File 'lib/dietaDia.rb', line 36

def kcal
    @desayuno.kcal + @almuerzo.kcal + @cena.kcal
end

#to_sString

Convierte el objeto en un String

Returns:

  • (String)

    descripción del plato en una cadena de caracteres

Since:

  • 1.0.0



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/dietaDia.rb', line 59

def to_s
    texto = @nombre
    texto << "\n#{'=' * @nombre.size}\n"
    texto << "Composicion nutricional: \n"
    texto << @desayuno.to_s
    texto << "\n"
    texto << @almuerzo.to_s
    texto << "\n"
    texto << @cena.to_s
    texto << "\n"
    texto << "#{@kcal}"
    texto << "\n"
    return texto
end