Class: Alimento2

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

Overview

Clase Alimento

Direct Known Subclasses

Alimento_grupo2

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, proteinas, glucidos, lipidos, g_alim) ⇒ Alimento2

Constructor de Alimento



8
9
10
11
12
13
14
# File 'lib/gema/alimento2.rb', line 8

def initialize(name, proteinas, glucidos, lipidos, g_alim)
  		@name = name
  		@proteinas = proteinas
  		@glucidos = glucidos
  		@lipidos = lipidos
@g_alim = g_alim
end

Instance Attribute Details

#g_alimObject

Nombre del alimento, proteinas del alimento, glucidos del alimento, lipidos del alimento y glucosa del alimento



6
7
8
# File 'lib/gema/alimento2.rb', line 6

def g_alim
  @g_alim
end

#glucidosObject

Nombre del alimento, proteinas del alimento, glucidos del alimento, lipidos del alimento y glucosa del alimento



6
7
8
# File 'lib/gema/alimento2.rb', line 6

def glucidos
  @glucidos
end

#lipidosObject

Nombre del alimento, proteinas del alimento, glucidos del alimento, lipidos del alimento y glucosa del alimento



6
7
8
# File 'lib/gema/alimento2.rb', line 6

def lipidos
  @lipidos
end

#nameObject

Nombre del alimento, proteinas del alimento, glucidos del alimento, lipidos del alimento y glucosa del alimento



6
7
8
# File 'lib/gema/alimento2.rb', line 6

def name
  @name
end

#proteinasObject

Nombre del alimento, proteinas del alimento, glucidos del alimento, lipidos del alimento y glucosa del alimento



6
7
8
# File 'lib/gema/alimento2.rb', line 6

def proteinas
  @proteinas
end

Instance Method Details

#<=>(another) ⇒ Object

Método necesario para poder utilizar el módulo comparable



16
17
18
# File 'lib/gema/alimento2.rb', line 16

def <=>(another)
 		get_valor_energetico <=> another.get_valor_energetico
end

#aibc_alimObject

Método para el area incremental bajo la curva de los alimentos



54
55
56
57
58
59
60
# File 'lib/gema/alimento2.rb', line 54

def aibc_alim
	glucosa = @g_alim
	aux1 = (1..glucosa.length-1).map{|i|(glucosa[i] - glucosa[0]) + (glucosa[i-1] - glucosa[0])}
	aux2 = (1..aux1.length-1).map{|i| aux1[i]/2}
	aux3 = (1..aux2.length-1).map{|i| aux2[i]*5}
	final =aux3.reduce('+')
end

#aibc_glucosa(gluc) ⇒ Object

Método para el area incremental bajo la curva de la glucosa



62
63
64
65
66
67
68
# File 'lib/gema/alimento2.rb', line 62

def aibc_glucosa(gluc)
	glucosa = gluc
	aux1 = (1..glucosa.length-1).map{|i|(glucosa[i] - glucosa[0]) + (glucosa[i-1] - glucosa[0])}
	aux2 = (1..aux1.length-1).map{|i| aux1[i]/2}
	aux3 = (1..aux2.length-1).map{|i| aux2[i]*5}
	final =aux3.reduce('+')
end

#get_glucidosObject

Método para obtener los glucidos del alimento



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

def get_glucidos 
     
	@glucidos   
end

#get_grasasObject

Método para obtener las grasas del alimento



43
44
45
46
# File 'lib/gema/alimento2.rb', line 43

def get_grasas      
 
	@lipidos    
end

#get_nameObject

Método para obtener el nombre del alimento



28
29
30
31
# File 'lib/gema/alimento2.rb', line 28

def get_name   
    
	@name    
end

#get_proteinasObject

Método para obtener las proteinas del alimento



33
34
35
36
# File 'lib/gema/alimento2.rb', line 33

def get_proteinas   
    
	@proteinas    
end

#get_valor_energeticoObject

Método para obtener el valor energetico del alimento



48
49
50
51
52
# File 'lib/gema/alimento2.rb', line 48

def get_valor_energetico   

	(@proteinas*4)+(@glucidos*4)+(@lipidos*9)   

end

#to_sObject

Método para imprimir Alimento



20
21
22
23
24
25
26
# File 'lib/gema/alimento2.rb', line 20

def to_s
	title= "\nAlimento:\n\n"
	title+="#{@name}\t#{@proteinas}g\t#{@glucidos}g\t#{@lipidos}g"
	for i in 0..@g_alim.size-1            
		title +="#{@g_alim[i]} "
	end
end