alimentohv 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +11 -0
- data/.rake_tasks~ +7 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +6 -0
- data/Guardfile +82 -0
- data/README.md +3 -0
- data/Rakefile +6 -0
- data/alimento.gemspec +39 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/doc/Alimento.html +109 -0
- data/doc/Alimentos.html +467 -0
- data/doc/Gemfile.html +99 -0
- data/doc/Gemfile_lock.html +176 -0
- data/doc/Grupo.html +383 -0
- data/doc/Grupo_bebidas.html +102 -0
- data/doc/Grupo_carbohidratos.html +102 -0
- data/doc/Grupo_carnes.html +102 -0
- data/doc/Grupo_frutas.html +102 -0
- data/doc/Grupo_grasos.html +102 -0
- data/doc/Grupo_lacteos.html +102 -0
- data/doc/Grupo_pescados.html +102 -0
- data/doc/Grupo_verduras.html +102 -0
- data/doc/Guardfile.html +176 -0
- data/doc/Lista.html +457 -0
- data/doc/Object.html +116 -0
- data/doc/README_md.html +96 -0
- data/doc/Rakefile.html +97 -0
- data/doc/alimento_gemspec.html +130 -0
- data/doc/bin/setup.html +97 -0
- data/doc/created.rid +16 -0
- data/doc/css/fonts.css +167 -0
- data/doc/css/rdoc.css +590 -0
- data/doc/fonts/Lato-Light.ttf +0 -0
- data/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/doc/fonts/Lato-Regular.ttf +0 -0
- data/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/doc/images/add.png +0 -0
- data/doc/images/arrow_up.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +125 -0
- data/doc/js/darkfish.js +161 -0
- data/doc/js/jquery.js +4 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +109 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +228 -0
- data/doc/js/searcher.js.gz +0 -0
- data/doc/table_of_contents.html +214 -0
- data/docs/Alimento.html +109 -0
- data/docs/Alimentos.html +467 -0
- data/docs/Gemfile.html +99 -0
- data/docs/Gemfile_lock.html +176 -0
- data/docs/Grupo.html +383 -0
- data/docs/Grupo_bebidas.html +102 -0
- data/docs/Grupo_carbohidratos.html +102 -0
- data/docs/Grupo_carnes.html +102 -0
- data/docs/Grupo_frutas.html +102 -0
- data/docs/Grupo_grasos.html +102 -0
- data/docs/Grupo_lacteos.html +102 -0
- data/docs/Grupo_pescados.html +102 -0
- data/docs/Grupo_verduras.html +102 -0
- data/docs/Guardfile.html +176 -0
- data/docs/Lista.html +457 -0
- data/docs/Object.html +116 -0
- data/docs/README_md.html +96 -0
- data/docs/Rakefile.html +97 -0
- data/docs/alimento_gemspec.html +130 -0
- data/docs/bin/setup.html +97 -0
- data/docs/created.rid +16 -0
- data/docs/css/fonts.css +167 -0
- data/docs/css/rdoc.css +590 -0
- data/docs/fonts/Lato-Light.ttf +0 -0
- data/docs/fonts/Lato-LightItalic.ttf +0 -0
- data/docs/fonts/Lato-Regular.ttf +0 -0
- data/docs/fonts/Lato-RegularItalic.ttf +0 -0
- data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
- data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
- data/docs/images/add.png +0 -0
- data/docs/images/arrow_up.png +0 -0
- data/docs/images/brick.png +0 -0
- data/docs/images/brick_link.png +0 -0
- data/docs/images/bug.png +0 -0
- data/docs/images/bullet_black.png +0 -0
- data/docs/images/bullet_toggle_minus.png +0 -0
- data/docs/images/bullet_toggle_plus.png +0 -0
- data/docs/images/date.png +0 -0
- data/docs/images/delete.png +0 -0
- data/docs/images/find.png +0 -0
- data/docs/images/loadingAnimation.gif +0 -0
- data/docs/images/macFFBgHack.png +0 -0
- data/docs/images/package.png +0 -0
- data/docs/images/page_green.png +0 -0
- data/docs/images/page_white_text.png +0 -0
- data/docs/images/page_white_width.png +0 -0
- data/docs/images/plugin.png +0 -0
- data/docs/images/ruby.png +0 -0
- data/docs/images/tag_blue.png +0 -0
- data/docs/images/tag_green.png +0 -0
- data/docs/images/transparent.png +0 -0
- data/docs/images/wrench.png +0 -0
- data/docs/images/wrench_orange.png +0 -0
- data/docs/images/zoom.png +0 -0
- data/docs/index.html +125 -0
- data/docs/js/darkfish.js +161 -0
- data/docs/js/jquery.js +4 -0
- data/docs/js/navigation.js +142 -0
- data/docs/js/navigation.js.gz +0 -0
- data/docs/js/search.js +109 -0
- data/docs/js/search_index.js +1 -0
- data/docs/js/search_index.js.gz +0 -0
- data/docs/js/searcher.js +228 -0
- data/docs/js/searcher.js.gz +0 -0
- data/docs/table_of_contents.html +214 -0
- data/lib/alimento.rb +13 -0
- data/lib/alimento/alimentos.rb +35 -0
- data/lib/alimento/calculadora.rb +55 -0
- data/lib/alimento/comida.rb +58 -0
- data/lib/alimento/grupo.rb +53 -0
- data/lib/alimento/individuo.rb +46 -0
- data/lib/alimento/lista.rb +65 -0
- data/lib/alimento/platohardvard.rb +160 -0
- data/lib/alimento/version.rb +3 -0
- metadata +292 -0
data/lib/alimento.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require "alimento/version"
|
|
2
|
+
require "alimento/alimentos"
|
|
3
|
+
require "alimento/grupo"
|
|
4
|
+
require "alimento/lista"
|
|
5
|
+
require "alimento/comida"
|
|
6
|
+
require "alimento/individuo"
|
|
7
|
+
require "alimento/calculadora"
|
|
8
|
+
require "alimento/platohardvard"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module Alimento
|
|
12
|
+
# Your code goes here...
|
|
13
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
class Alimentos
|
|
2
|
+
attr_reader :nombre, :proteinas, :glucidos, :lipidos
|
|
3
|
+
def initialize nombre, proteinas, glucidos, lipidos
|
|
4
|
+
@nombre, @proteinas, @glucidos, @lipidos = nombre, proteinas, glucidos, lipidos
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def get_nombre
|
|
8
|
+
@nombre
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def get_proteinas
|
|
12
|
+
@proteinas
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def get_glucidos
|
|
16
|
+
@glucidos
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def get_lipidos
|
|
20
|
+
@lipidos
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def get_energetico
|
|
24
|
+
@aux = (@glucidos * 4) + (@lipidos * 9) + (@proteinas * 4)
|
|
25
|
+
@aux
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def == (otro)
|
|
29
|
+
self.class == otro.class && @nombre == otro.nombre && @proteinas == otro.proteinas && @glucidos == otro.glucidos && @lipidos == otro.lipidos
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def to_s
|
|
33
|
+
"#{nombre}, #{proteinas}, #{glucidos}, #{lipidos}"
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
class Calculadora
|
|
2
|
+
# método inicializar clase
|
|
3
|
+
def initialize(individuos)
|
|
4
|
+
# atributos
|
|
5
|
+
@individuos = individuos
|
|
6
|
+
@resultados = []
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
#metodo que calcula el indice glucemico de todos los alimentos de los
|
|
10
|
+
#individuos
|
|
11
|
+
def calcular()
|
|
12
|
+
lista_nombres=@individuos[0].get_lista_nombres
|
|
13
|
+
lista_nombres.each do |nombre|
|
|
14
|
+
cont=0
|
|
15
|
+
igind=0
|
|
16
|
+
#for j in 0..@individuos.length-1
|
|
17
|
+
#glucosa=@individuos[j].get_glucosa.to_f
|
|
18
|
+
#aibc=@individuos[j].get_aibc(nombre)
|
|
19
|
+
#aux=aibc/glucosa*100
|
|
20
|
+
#igind=igind+aux
|
|
21
|
+
#cont=cont+1
|
|
22
|
+
#end
|
|
23
|
+
|
|
24
|
+
@individuos.each do |i|
|
|
25
|
+
glucosa=i.get_glucosa.to_f
|
|
26
|
+
aibc=i.get_aibc(nombre)
|
|
27
|
+
aux=aibc/glucosa*100
|
|
28
|
+
igind=igind+aux
|
|
29
|
+
cont=cont+1
|
|
30
|
+
end
|
|
31
|
+
igind=igind/cont
|
|
32
|
+
@resultados << nombre + " " + igind.round(2).to_s + "\n"
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
#metodo que muestra por pantalla los resultados obtenenidos con el metodo
|
|
37
|
+
#calcular. Alimento -> Indice glucemico
|
|
38
|
+
def mostrar_resultados
|
|
39
|
+
calcular
|
|
40
|
+
s="Resultados\n"
|
|
41
|
+
for j in 0..@resultados.length-1
|
|
42
|
+
s << @resultados[j].to_s
|
|
43
|
+
end
|
|
44
|
+
s
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
#salida por pantalla de clase
|
|
48
|
+
def to_s
|
|
49
|
+
s = "\nLista de Individuos y sus alimentos\n"
|
|
50
|
+
for j in 0..@individuos.length-1
|
|
51
|
+
s << @individuos[j].to_s + "\n"
|
|
52
|
+
end
|
|
53
|
+
s
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
class Comida
|
|
2
|
+
# método inicializar clase
|
|
3
|
+
def initialize(nombre, tiempo,concentraciones)
|
|
4
|
+
# atributos
|
|
5
|
+
@nombre = nombre
|
|
6
|
+
@concentraciones = concentraciones
|
|
7
|
+
@tiempo = tiempo
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def get_nombre()
|
|
11
|
+
return @nombre
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
#método que nos devuelve el calculo del aibc del alimento
|
|
15
|
+
def get_aibc()
|
|
16
|
+
#metodo imperativo
|
|
17
|
+
#total = 0
|
|
18
|
+
#for j in 1..@concentraciones.length-1
|
|
19
|
+
# aux=@concentraciones[j].to_f-@concentraciones[0].to_f
|
|
20
|
+
# aux2=@concentraciones[j-1].to_f-@concentraciones[0].to_f
|
|
21
|
+
# if aux < 0
|
|
22
|
+
# aux=0
|
|
23
|
+
# end
|
|
24
|
+
# if aux2 < 0
|
|
25
|
+
# aux2=0
|
|
26
|
+
# end
|
|
27
|
+
# aux3=aux+aux2
|
|
28
|
+
# aux3=aux3*@tiempo.to_f
|
|
29
|
+
# aux3=aux3/2
|
|
30
|
+
# total=total+aux3
|
|
31
|
+
#end
|
|
32
|
+
|
|
33
|
+
#otro metodo
|
|
34
|
+
s=[]
|
|
35
|
+
@concentraciones[1..@concentraciones.length-1].zip(@concentraciones[0..@concentraciones.length-2]) do |x,y|
|
|
36
|
+
if x < @concentraciones[0]
|
|
37
|
+
s << 0.0
|
|
38
|
+
else
|
|
39
|
+
s << (((x - @concentraciones[0])+(y-@concentraciones[0]))/2)*5
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
#puts s.reduce(:+).round(2)
|
|
43
|
+
#puts total.round(2)
|
|
44
|
+
#return total.round(2)
|
|
45
|
+
return s.reduce(:+).round(2)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
#salida por pantalla de clase
|
|
49
|
+
def to_s
|
|
50
|
+
s = "\n"
|
|
51
|
+
s << "#{@nombre}\n"
|
|
52
|
+
s << "\nConcentraciones: #{@concentraciones}"
|
|
53
|
+
s << "\nPeriodo de Tiempo: #{@tiempo} minutos"
|
|
54
|
+
s << "\n"
|
|
55
|
+
s << "\nAIBC: " + get_aibc.to_s
|
|
56
|
+
s
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
class Grupo
|
|
2
|
+
|
|
3
|
+
include Comparable
|
|
4
|
+
|
|
5
|
+
attr_reader :titulo, :alimentos
|
|
6
|
+
def initialize titulo, alimentos
|
|
7
|
+
@titulo, @alimentos = titulo, alimentos
|
|
8
|
+
end
|
|
9
|
+
def get_titulo
|
|
10
|
+
@titulo
|
|
11
|
+
end
|
|
12
|
+
def get_alimento i
|
|
13
|
+
@alimentos[i]
|
|
14
|
+
end
|
|
15
|
+
def getall_alimentos
|
|
16
|
+
@alimentos
|
|
17
|
+
end
|
|
18
|
+
def to_s
|
|
19
|
+
out = "#{@titulo.upcase}\n"
|
|
20
|
+
out << @alimentos.map { |alimento| "-#{alimento}" }.join(",\n")
|
|
21
|
+
out
|
|
22
|
+
end
|
|
23
|
+
def <=> (otro)
|
|
24
|
+
@titulo<=>otro.titulo
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class Grupo_lacteos < Grupo
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
class Grupo_carnes < Grupo
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
class Grupo_pescados < Grupo
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class Grupo_grasos < Grupo
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class Grupo_carbohidratos < Grupo
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class Grupo_verduras < Grupo
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
class Grupo_lacteos < Grupo
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class Grupo_frutas < Grupo
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
class Grupo_bebidas < Grupo
|
|
53
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
class Individuo
|
|
2
|
+
# método inicializar clase
|
|
3
|
+
def initialize(num, alimentos, glucosa)
|
|
4
|
+
# atributos
|
|
5
|
+
@num = num
|
|
6
|
+
@alimentos = alimentos
|
|
7
|
+
@glucosa = glucosa
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def get_glucosa()
|
|
11
|
+
@glucosa.get_aibc
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def get_aibc(nombre)
|
|
15
|
+
#for j in 0..@alimentos.length-1
|
|
16
|
+
# if @alimentos[j].get_nombre==nombre
|
|
17
|
+
# return @alimentos[j].get_aibc
|
|
18
|
+
# end
|
|
19
|
+
#end
|
|
20
|
+
@alimentos.each do |out|
|
|
21
|
+
if out.get_nombre==nombre
|
|
22
|
+
return out.get_aibc
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
#metodo que nos devuelve una lista con los nombres de todos los alimentos
|
|
27
|
+
def get_lista_nombres()
|
|
28
|
+
lista = []
|
|
29
|
+
for j in 0..@alimentos.length-1
|
|
30
|
+
lista<<@alimentos[j].get_nombre
|
|
31
|
+
end
|
|
32
|
+
return lista
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
#salida por pantalla de clase
|
|
36
|
+
def to_s
|
|
37
|
+
s = "Individuo " + @num
|
|
38
|
+
s << "\nAlimentos:\n"
|
|
39
|
+
for j in 0..@alimentos.length-1
|
|
40
|
+
s << @alimentos[j].to_s
|
|
41
|
+
end
|
|
42
|
+
s << @glucosa.to_s
|
|
43
|
+
s << "\n"
|
|
44
|
+
s
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Nodo = Struct.new(:value, :next, :prev)
|
|
2
|
+
|
|
3
|
+
class Lista
|
|
4
|
+
|
|
5
|
+
include Enumerable
|
|
6
|
+
|
|
7
|
+
attr_accessor :cabeza, :cola, :nodo_actual
|
|
8
|
+
|
|
9
|
+
def initialize(cabeza,cola)
|
|
10
|
+
@cabeza = cabeza
|
|
11
|
+
@cola = cola
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def insertar(x)
|
|
15
|
+
node = Nodo.new(x,nil,nil)
|
|
16
|
+
|
|
17
|
+
if @cabeza==nil && @cola==nil
|
|
18
|
+
node.prev = @cola
|
|
19
|
+
node.next = @cabeza
|
|
20
|
+
@nodo_actual = node
|
|
21
|
+
@cabeza = node
|
|
22
|
+
@cola = node
|
|
23
|
+
else
|
|
24
|
+
node.prev = @cabeza
|
|
25
|
+
node.next = nil
|
|
26
|
+
@nodo_actual = node
|
|
27
|
+
@cabeza.next = node
|
|
28
|
+
@cabeza = node
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def insertar_varios(nodos)
|
|
33
|
+
nodos.each do |nd|
|
|
34
|
+
insertar(nd)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
#eliminar el nodo y cambiar los valores al nodo anterior
|
|
39
|
+
def extraer_inicio()
|
|
40
|
+
@cola=@cola.next
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def extraer_final()
|
|
44
|
+
@cabeza = @cabeza.prev
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def to_s
|
|
48
|
+
@cabeza.to_s
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def each
|
|
52
|
+
while @cabeza != @cola
|
|
53
|
+
yield @cabeza.value
|
|
54
|
+
@cabeza=@cabeza.prev
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
if @cabeza == @cola
|
|
58
|
+
if @cabeza == nil
|
|
59
|
+
nil
|
|
60
|
+
else
|
|
61
|
+
yield @cola.value
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
class PlatoHardvard
|
|
2
|
+
attr_accessor :name, :platos, :entotal
|
|
3
|
+
|
|
4
|
+
def initialize(name, &block)
|
|
5
|
+
self.name = name
|
|
6
|
+
self.platos = []
|
|
7
|
+
self.entotal = 0
|
|
8
|
+
|
|
9
|
+
instance_eval &block
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#funciones del block
|
|
14
|
+
def vegetal(titulo, options = {})
|
|
15
|
+
porcion = ""
|
|
16
|
+
porcion << " (#{options[:porcion]})" if options[:porcion]
|
|
17
|
+
porcion = porcion.tr("^0-9","")
|
|
18
|
+
gramos = ""
|
|
19
|
+
gramos << " (#{options[:gramos]})" if options[:gramos]
|
|
20
|
+
gramos = gramos.tr("^0-9","")
|
|
21
|
+
|
|
22
|
+
if gramos != ""
|
|
23
|
+
glucidos = (gramos.to_f * 10 * 30)/100
|
|
24
|
+
lipidos = (gramos.to_f * 10 * 20)/100
|
|
25
|
+
proteinas = (gramos.to_f * 10 * 50)/100
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
if porcion != ""
|
|
29
|
+
glucidos = (porcion.to_f * 10 * 30)/100
|
|
30
|
+
lipidos = (porcion.to_f * 10 * 20)/100
|
|
31
|
+
proteinas = (porcion.to_f * 10 * 50)/100
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
|
|
35
|
+
@entotal = @entotal + alimento.get_energetico()
|
|
36
|
+
platos << alimento
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def fruta(titulo,options = {})
|
|
40
|
+
porcion = ""
|
|
41
|
+
porcion << " (#{options[:porcion]})" if options[:porcion]
|
|
42
|
+
porcion = porcion.tr("^0-9","")
|
|
43
|
+
gramos = ""
|
|
44
|
+
gramos << " (#{options[:gramos]})" if options[:gramos]
|
|
45
|
+
gramos = gramos.tr("^0-9","")
|
|
46
|
+
|
|
47
|
+
if gramos != ""
|
|
48
|
+
glucidos = (gramos.to_f * 3 * 30)/100
|
|
49
|
+
lipidos = (gramos.to_f * 3 * 20)/100
|
|
50
|
+
proteinas = (gramos.to_f * 3 * 50)/100
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
if porcion != ""
|
|
54
|
+
glucidos = (porcion.to_f * 10 * 30)/100
|
|
55
|
+
lipidos = (porcion.to_f * 10 * 20)/100
|
|
56
|
+
proteinas = (porcion.to_f * 10 * 50)/100
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
|
|
60
|
+
@entotal = @entotal + alimento.get_energetico()
|
|
61
|
+
platos << alimento
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def cereal(titulo,options = {})
|
|
65
|
+
porcion = ""
|
|
66
|
+
porcion << " (#{options[:porcion]})" if options[:porcion]
|
|
67
|
+
porcion = porcion.tr("^0-9","")
|
|
68
|
+
gramos = ""
|
|
69
|
+
gramos << " (#{options[:gramos]})" if options[:gramos]
|
|
70
|
+
gramos = gramos.tr("^0-9","")
|
|
71
|
+
|
|
72
|
+
if gramos != ""
|
|
73
|
+
glucidos = (gramos.to_f * 10 * 30)/100
|
|
74
|
+
lipidos = (gramos.to_f * 10 * 20)/100
|
|
75
|
+
proteinas = (gramos.to_f * 10 * 50)/100
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
if porcion != ""
|
|
79
|
+
glucidos = (porcion.to_f * 10 * 30)/100
|
|
80
|
+
lipidos = (porcion.to_f * 10 * 20)/100
|
|
81
|
+
proteinas = (porcion.to_f * 10 * 50)/100
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
|
|
85
|
+
@entotal = @entotal + alimento.get_energetico()
|
|
86
|
+
platos << alimento
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def proteina(titulo,options = {})
|
|
90
|
+
porcion = ""
|
|
91
|
+
porcion << " (#{options[:porcion]})" if options[:porcion]
|
|
92
|
+
porcion = porcion.tr("^0-9","")
|
|
93
|
+
gramos = ""
|
|
94
|
+
gramos << " (#{options[:gramos]})" if options[:gramos]
|
|
95
|
+
gramos = gramos.tr("^0-9","")
|
|
96
|
+
|
|
97
|
+
if gramos != ""
|
|
98
|
+
glucidos = (gramos.to_f * 10 * 30)/100
|
|
99
|
+
lipidos = (gramos.to_f * 10 * 20)/100
|
|
100
|
+
proteinas = (gramos.to_f * 10 * 50)/100
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
if porcion != ""
|
|
104
|
+
glucidos = (porcion.to_f * 10 * 30)/100
|
|
105
|
+
lipidos = (porcion.to_f * 10 * 20)/100
|
|
106
|
+
proteinas = (porcion.to_f * 10 * 50)/100
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
|
|
110
|
+
@entotal = @entotal + alimento.get_energetico()
|
|
111
|
+
platos << alimento
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def aceite(titulo,options = {})
|
|
115
|
+
porcion = ""
|
|
116
|
+
porcion << " (#{options[:porcion]})" if options[:porcion]
|
|
117
|
+
porcion = porcion.tr("^0-9","")
|
|
118
|
+
gramos = ""
|
|
119
|
+
gramos << " (#{options[:gramos]})" if options[:gramos]
|
|
120
|
+
gramos = gramos.tr("^0-9","")
|
|
121
|
+
|
|
122
|
+
if gramos != ""
|
|
123
|
+
glucidos = (gramos.to_f * 10 * 30)/100
|
|
124
|
+
lipidos = (gramos.to_f * 10 * 20)/100
|
|
125
|
+
proteinas = (gramos.to_f * 10 * 50)/100
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
if porcion != ""
|
|
129
|
+
glucidos = (porcion.to_f * 5 * 30)/100
|
|
130
|
+
lipidos = (porcion.to_f * 5 * 20)/100
|
|
131
|
+
proteinas = (porcion.to_f * 5 * 50)/100
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
alimento = Alimentos.new(titulo,glucidos,proteinas,lipidos)
|
|
135
|
+
@entotal = @entotal + alimento.get_energetico()
|
|
136
|
+
platos << alimento
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def to_s
|
|
140
|
+
output = ""
|
|
141
|
+
output << name
|
|
142
|
+
output << "\n"
|
|
143
|
+
for i in 0..name.size-1 do
|
|
144
|
+
output << "="
|
|
145
|
+
end
|
|
146
|
+
output << "\n"
|
|
147
|
+
output << "\nComposición nutricional:\n"
|
|
148
|
+
output << "\n"
|
|
149
|
+
platos.each_with_index do |plato, index|
|
|
150
|
+
output << "#{plato} #{plato.get_energetico}\n"
|
|
151
|
+
#if index>0
|
|
152
|
+
#if (index-1) % 3 == 1
|
|
153
|
+
#output << "\n"
|
|
154
|
+
#end
|
|
155
|
+
#end
|
|
156
|
+
end
|
|
157
|
+
output << "Valor Energetico total #{@entotal}"
|
|
158
|
+
output
|
|
159
|
+
end
|
|
160
|
+
end
|