Class: Dieta

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

Overview

Clase dieta que contiene un menú con información, con su salida formateada y hace uso del módulo comparable

Author:

Direct Known Subclasses

GAlimento, GEdad

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Método para inicializar la clase

Parameters:

  • titulo (String)

    el titulo del menu

  • ingesta (Integer)

    el porcentaje de ingesta diaria recomendada

  • plato (Array)

    listado con los platos que conforman el menú

  • vct (Float)

    valor calórico total del menú

  • proteinas (Integer)

    porcentaje de proteínas del menú

  • grasas (Integer)

    porcentaje de grasas del menú

  • hidratos (Integer)

    porcentaje de hidratos de carbono del menú



28
29
30
31
32
33
34
35
36
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 28

def initialize(titulo, ingesta, plato, vct, proteinas, grasas, hidratos)
	@titulo = titulo
	@ingesta_diaria = ingesta
	@plato = plato
	@vct = vct
	@proteinas = proteinas
	@grasas = grasas
	@hidratos = hidratos
end

Instance Attribute Details

#grasasObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def grasas
  @grasas
end

#hidratosObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def hidratos
  @hidratos
end

#ingesta_diariaObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def ingesta_diaria
  @ingesta_diaria
end

#platoObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def plato
  @plato
end

#proteinasObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def proteinas
  @proteinas
end

#tituloObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def titulo
  @titulo
end

#vctObject (readonly)

Getters para los atributos de la clase



9
10
11
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 9

def vct
  @vct
end

Instance Method Details

#<=>(another) ⇒ Object

Método para realizar comparaciones valiéndose del módulo comparable

Parameters:

  • another (Dieta)

    el otro objeto dieta con el que Comparar



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

def <=> (another)
	self.vct <=> another.vct
end

#cabeceraString

Método para la obtención del la cabecera del menú

Returns:

  • (String)

    una cadena que combina el título y la vct del menú



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

def cabecera()
	"#{@titulo} (#{@ingesta_diaria}%)\n"
end

#cierreString

Método que combina la vct, proteinas, grasas e hidratos para el cierre del menú

Returns:

  • (String)

    cadena que contiene la vct, proteinas, grasas e hidratos en el formato correcto



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

def cierre()
	"V.C.T. | %  #{vct} kcal | #{proteinas}% - #{grasas}% - #{hidratos}%\n"
end

#listado_platosString

Método para la obtención del listado de platos

Returns:

  • (String)

    una cadena con los platos listados



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 50

def listado_platos()

	cadena = ""
	
	@plato.each do |x|
		cadena+= "- #{x.join(", ")}\n"
	end

	return cadena

end

#to_sString

Metodo que combina cadena para obtener el menú completo

Returns:

  • (String)

    cadena que combina las salidad de ‘cabecera’, ‘listado_platos’ y ‘cierre’



74
75
76
77
78
# File 'lib/Directorio_de_trabajo_del_equipo/dieta.rb', line 74

def to_s()
	cadena = ""

	cadena = cabecera + listado_platos + cierre
end