Class: Comida

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

Overview

Esta clase permite representar un alimento con sus valores energeticos y un calculo del mismo Contiene metodos para el manejo de la misma facilmente. Se ha incluido el mixin Comparable.

Direct Known Subclasses

GruposAlimento, IndiceGlucemico

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, proteinas, glucidos, lipidos) ⇒ Comida

Se asignan los valores del alimento a sus atributos



13
14
15
16
17
18
19
# File 'lib/Alimento/Comida.rb', line 13

def initialize(nombre, proteinas, glucidos, lipidos)

	@comida = nombre
	@proteina = proteinas
	@glucidos = glucidos
	@lipidos = lipidos
end

Instance Attribute Details

#comidaObject (readonly)

Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.



8
9
10
# File 'lib/Alimento/Comida.rb', line 8

def comida
  @comida
end

#glucidosObject (readonly)

Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.



8
9
10
# File 'lib/Alimento/Comida.rb', line 8

def glucidos
  @glucidos
end

#lipidosObject (readonly)

Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.



8
9
10
# File 'lib/Alimento/Comida.rb', line 8

def lipidos
  @lipidos
end

#proteinaObject (readonly)

Permite acceder a los atributos de la clase en forma de lectura. Actuan como “getters”.



8
9
10
# File 'lib/Alimento/Comida.rb', line 8

def proteina
  @proteina
end

Instance Method Details

#<=>(other) ⇒ Object

Se define como una comparacion de dos objetos a través de su valor energético.



34
35
36
37
38
# File 'lib/Alimento/Comida.rb', line 34

def <=>(other)
		if(other.is_a? Comida)
 		valorEnergetico <=> other.valorEnergetico
		end
end

#to_sObject

Permite formatear la salida por pantalla.



22
23
24
# File 'lib/Alimento/Comida.rb', line 22

def to_s
	"#{comida}, #{proteina}, #{glucidos}, #{lipidos}"
end

#valorEnergeticoObject

Calcula el valor energético del alimento



27
28
29
30
# File 'lib/Alimento/Comida.rb', line 27

def valorEnergetico
	aux=0
	aux = ( (@proteina*4) + (@lipidos*9) + (@glucidos*4) )
end