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
# File 'lib/dietaDia.rb', line 13

def initialize(nombre, &bloque)
    @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

Since:

  • 1.0.0



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

def almuerzo
  @almuerzo
end

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

Añade una cena

Since:

  • 1.0.0



81
82
83
# File 'lib/dietaDia.rb', line 81

def cena
  @cena
end

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

Añade un desayuno

Since:

  • 1.0.0



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

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

Since:

  • 1.0.0



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

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

#is_enough(persona, cantidad) ⇒ Boolean

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

Since:

  • 1.0.0



38
39
40
41
# File 'lib/dietaDia.rb', line 38

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

Since:

  • 1.0.0



29
30
31
# File 'lib/dietaDia.rb', line 29

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

#to_sString

Convierte el objeto en un String

Since:

  • 1.0.0



52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/dietaDia.rb', line 52

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