Class: Comida

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

Overview

Esta clase representa la información nurtricional solbre un alimento x

Author:

  • Omar Pérez Znakar

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, cantidad, porcion, grasas, grasas_saturadas, grasas_monosaturadas, grasas_polisaturadas, hidratos_carbono, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas_mineral) ⇒ Comida

Returns a new instance of Comida.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/alimentos/alimentos.rb', line 10

def initialize(nombre,cantidad,porcion,grasas,grasas_saturadas,grasas_monosaturadas,grasas_polisaturadas,hidratos_carbono,azucares,polialcoholes,almidon,fibra,proteinas,sal,vitaminas_mineral)
	@nombre=nombre
   	@cantidad=cantidad
   	@porcion=porcion
   	@grasas = grasas
   	@grasas_saturadas=grasas_saturadas
   	@grasas_monosaturadas = grasas_monosaturadas
   	@grasas_polisaturadas=grasas_polisaturadas
   	@hidratos_carbono=hidratos_carbono
   	@azucares=azucares
   	@polialcoholes=polialcoholes
   	@almidon=almidon
   	@fibra=fibra
   	@proteinas=proteinas
   	@sal=sal
   	@vitaminas_mineral=vitaminas_mineral
end

Instance Attribute Details

#almidonObject (readonly)

Returns the value of attribute almidon.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def almidon
  @almidon
end

#azucaresObject (readonly)

Returns the value of attribute azucares.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def azucares
  @azucares
end

#azucares_porcionObject (readonly)

Returns the value of attribute azucares_porcion.



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

def azucares_porcion
  @azucares_porcion
end

#cantidadObject (readonly)

Returns the value of attribute cantidad.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def cantidad
  @cantidad
end

#fibraObject (readonly)

Returns the value of attribute fibra.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def fibra
  @fibra
end

#grasasObject (readonly)

Returns the value of attribute grasas.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def grasas
  @grasas
end

#grasas_monosaturadasObject (readonly)

Returns the value of attribute grasas_monosaturadas.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def grasas_monosaturadas
  @grasas_monosaturadas
end

#grasas_polisaturadasObject (readonly)

Returns the value of attribute grasas_polisaturadas.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def grasas_polisaturadas
  @grasas_polisaturadas
end

#grasas_porcionObject (readonly)

Returns the value of attribute grasas_porcion.



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

def grasas_porcion
  @grasas_porcion
end

#grasas_saturadasObject (readonly)

Returns the value of attribute grasas_saturadas.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def grasas_saturadas
  @grasas_saturadas
end

#grasas_saturadas_porcionObject (readonly)

Returns the value of attribute grasas_saturadas_porcion.



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

def grasas_saturadas_porcion
  @grasas_saturadas_porcion
end

#hidratos_carbonoObject (readonly)

Returns the value of attribute hidratos_carbono.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def hidratos_carbono
  @hidratos_carbono
end

#hidratos_carbono_porcionObject (readonly)

Returns the value of attribute hidratos_carbono_porcion.



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

def hidratos_carbono_porcion
  @hidratos_carbono_porcion
end

#nombreObject (readonly)

Returns the value of attribute nombre.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def nombre
  @nombre
end

#polialcoholesObject (readonly)

Returns the value of attribute polialcoholes.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def polialcoholes
  @polialcoholes
end

#porcionObject (readonly)

Returns the value of attribute porcion.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def porcion
  @porcion
end

#proteinasObject (readonly)

Returns the value of attribute proteinas.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def proteinas
  @proteinas
end

#proteinas_porcionObject (readonly)

Returns the value of attribute proteinas_porcion.



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

def proteinas_porcion
  @proteinas_porcion
end

#salObject (readonly)

Returns the value of attribute sal.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def sal
  @sal
end

#sal_porcionObject (readonly)

Returns the value of attribute sal_porcion.



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

def sal_porcion
  @sal_porcion
end

#valor_energetico_kcalObject (readonly)

Returns the value of attribute valor_energetico_kcal.



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

def valor_energetico_kcal
  @valor_energetico_kcal
end

#valor_energetico_kcal_porcionObject (readonly)

Esta función consiste en un get del valor energético kcal por poción.

Returns:

  • valor energético kcal por poción.



53
54
55
# File 'lib/alimentos/alimentos.rb', line 53

def valor_energetico_kcal_porcion
  @valor_energetico_kcal_porcion
end

#valor_energetico_kj_porcionObject (readonly)

Returns the value of attribute valor_energetico_kj_porcion.



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

def valor_energetico_kj_porcion
  @valor_energetico_kj_porcion
end

#vitaminas_mineralObject (readonly)

Returns the value of attribute vitaminas_mineral.



7
8
9
# File 'lib/alimentos/alimentos.rb', line 7

def vitaminas_mineral
  @vitaminas_mineral
end

Instance Method Details

#<=>(another) ⇒ Object

Esta funciión consiste en una sobrecarga de los aperadores <=> para que se puedan comparar dos objetos a través de las grasas



184
185
186
# File 'lib/alimentos/alimentos.rb', line 184

def <=> another
      valor_energetico_kcal_porcion <=> another.valor_energetico_kcal_porcion
end

#fila_almidonObject

Esta función consiste en los cálculos de la fila completa de almidón (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de almidón



130
131
132
133
134
135
136
# File 'lib/alimentos/alimentos.rb', line 130

def fila_almidon()
   	@almidon_cien_gramos = ((@almidon/@cantidad)*100).round(1)
   	@almidon_ir = ((@almidon/20)*100).round(1)
   	@almidon_porcion = ((@almidon/@cantidad)*@porcion).round(1)
   	@almidon_ir_porcion = ((@almidon/20)*@porcion).round(1)
   	[@almidon_cien_gramos,@almidon_ir,@almidon_porcion,@almidon_ir_porcion]
end

#fila_azucaresObject

Esta función consiste en los cálculos de la fila completa de azúcares (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de azúcares



110
111
112
113
114
115
116
# File 'lib/alimentos/alimentos.rb', line 110

def fila_azucares()
   	@azucares_cien_gramos = ((@azucares/@cantidad)*100).round(1)
   	@azucares_ir = ((@azucares/90)*100).round(1)
   	@azucares_porcion = ((@azucares/@cantidad)*@porcion).round(1)
   	@azucares_ir_porcion = ((@azucares/90)*@porcion).round(1)
   	[@azucares_cien_gramos,@azucares_ir,@azucares_porcion,@azucares_ir_porcion]
end

#fila_fibraObject

Esta función consiste en los cálculos de la fila completa de fibra (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de fibra



140
141
142
143
144
145
146
# File 'lib/alimentos/alimentos.rb', line 140

def fila_fibra()
   	@fibra_cien_gramos = ((@fibra/@cantidad)*100).round(1)
   	@fibra_ir = ((@fibra/20)*100).round(1)
   	@fibra_porcion = ((@fibra/@cantidad)*@porcion).round(1)
   	@fibra_ir_porcion = ((@fibra/20)*@porcion).round(1)
   	[@fibra_cien_gramos,@fibra_ir,@fibra_porcion,@fibra_ir_porcion]
end

#fila_grasasObject

Returns Fila completa de grasas.

Returns:

  • Fila completa de grasas



60
61
62
63
64
65
66
# File 'lib/alimentos/alimentos.rb', line 60

def fila_grasas()
   	@grasas_cien_gramos = ((@grasas/@cantidad) * 100).round(1)
   	@grasas_ir = ((@grasas/70) * 100).round(1)
   	@grasas_porcion = ((@grasas/@cantidad) *@porcion).round(1)
   	@grasas_ir_porcion = ((@grasas/70) * @porcion).round(1)
   	[@grasas_cien_gramos,@grasas_ir,@grasas_porcion,@grasas_ir_porcion]
end

#fila_grasas_monosaturadasObject

Esta función consiste en los cálculos de la fila completa de grasas monosaturadas (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de grasas monosaturadas



80
81
82
83
84
85
86
# File 'lib/alimentos/alimentos.rb', line 80

def fila_grasas_monosaturadas()
   	@grasas_monosaturadas_cien_gramos = ((@grasas_monosaturadas/@cantidad) * 100).round(1)
   	@grasas_monosaturadas_ir = ((@grasas_monosaturadas/70) * 100).round(1)
   	@grasas_monosaturadas_porcion = ((@grasas_monosaturadas/@cantidad) *@porcion).round(1)
   	@grasas_monosaturadas_ir_porcion = ((@grasas_monosaturadas/70) * @porcion).round(1)
   	[@grasas_monosaturadas_cien_gramos,@grasas_monosaturadas_ir,@grasas_monosaturadas_porcion,@grasas_monosaturadas_ir_porcion]
end

#fila_grasas_polisaturadasObject

Esta función consiste en los cálculos de la fila completa de grasas polisaturadas (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de grasas polisaturadas



90
91
92
93
94
95
96
# File 'lib/alimentos/alimentos.rb', line 90

def fila_grasas_polisaturadas()
   	@grasas_polisaturadas_cien_gramos = ((@grasas_polisaturadas/@cantidad)*100).round(1)
   	@grasas_polisaturadas_ir = ((@grasas_polisaturadas/20)*100).round(1)
   	@grasas_polisaturadas_porcion = ((@grasas_polisaturadas/@cantidad)*@porcion).round(1)
   	@grasas_polisaturadas_ir_porcion = ((@grasas_polisaturadas/20)*@porcion).round(1)
   	[@grasas_polisaturadas_cien_gramos,@grasas_polisaturadas_ir,@grasas_polisaturadas_porcion,@grasas_polisaturadas_ir_porcion]
end

#fila_grasas_saturadaObject

Esta función consiste en los cálculos de la fila completa de grasas saturadas (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de grasas saturadas



70
71
72
73
74
75
76
# File 'lib/alimentos/alimentos.rb', line 70

def fila_grasas_saturada()
   	@grasas_saturadas_cien_gramos = ((@grasas_saturadas/@cantidad)*100).round(1)
   	@grasas_saturadas_ir = ((@grasas_saturadas/20)*100).round(1)
   	@grasas_saturadas_porcion = ((@grasas_saturadas/@cantidad)*@porcion).round(1)
   	@grasas_saturadas_ir_porcion = ((@grasas_saturadas/20)*@porcion).round(1)
   	[@grasas_saturadas_cien_gramos,@grasas_saturadas_ir,@grasas_saturadas_porcion,@grasas_saturadas_ir_porcion]
end

#fila_hidratos_carbonoObject

Esta función consiste en los cálculos de la fila completa de hidratos de carbono (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de hidratos de carbono



100
101
102
103
104
105
106
# File 'lib/alimentos/alimentos.rb', line 100

def fila_hidratos_carbono()
   	@hidratos_carbono_cien_gramos = ((@hidratos_carbono/@cantidad)*100).round(1)
   	@hidratos_carbono_ir = ((@hidratos_carbono/260)*100).round(1)
   	@hidratos_carbono_porcion = ((@hidratos_carbono/@cantidad)*@porcion).round(1)
   	@hidratos_carbono_ir_porcion = ((@hidratos_carbono/260)*@porcion).round(1)
   	[@hidratos_carbono_cien_gramos,@hidratos_carbono_ir,@hidratos_carbono_porcion,@hidratos_carbono_ir_porcion]
end

#fila_polialcoholesObject

Esta función consiste en los cálculos de la fila completa de polialcoholes (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de polialcoholes



120
121
122
123
124
125
126
# File 'lib/alimentos/alimentos.rb', line 120

def fila_polialcoholes()
   	@polialcoholes_cien_gramos = ((@polialcoholes/@cantidad)*100).round(1)
   	@polialcoholes_ir = ((@polialcoholes/20)*100).round(1)
   	@polialcoholes_porcion = ((@polialcoholes/@cantidad)*@porcion).round(1)
   	@polialcoholes_ir_porcion = ((@polialcoholes/20)*@porcion).round(1)
   	[@polialcoholes_cien_gramos,@polialcoholes_ir,@polialcoholes_porcion,@polialcoholes_ir_porcion]
end

#fila_proteinasObject

Esta función consiste en los cálculos de la fila completa de proteinas (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de proteinas



150
151
152
153
154
155
156
# File 'lib/alimentos/alimentos.rb', line 150

def fila_proteinas()
   	@proteinas_cien_gramos = ((@proteinas/@cantidad)*100).round(1)
   	@proteinas_ir = ((@proteinas/50)*100).round(1)
   	@proteinas_porcion = ((@proteinas/@cantidad)*@porcion).round(1)
   	@proteinas_ir_porcion = ((@proteinas/50)*@porcion).round(1)
   	[@proteinas_cien_gramos,@proteinas_ir,@proteinas_porcion,@proteinas_ir_porcion]
end

#fila_salObject

Esta función consiste en los cálculos de la fila completa de sal (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de sal



160
161
162
163
164
165
166
# File 'lib/alimentos/alimentos.rb', line 160

def fila_sal()
   	@sal_cien_gramos = ((@sal/@cantidad)*100).round(1)
   	@sal_ir = ((@sal/6)*100).round(1)
   	@sal_porcion = ((@sal/@cantidad)*@porcion).round(1)
   	@sal_ir_porcion = ((@sal/6)*@porcion).round(1)
   	[@sal_cien_gramos,@sal_ir,@sal_porcion,@sal_ir_porcion]
end

#fila_valor_energetico_kcalObject

Returns Fila completa de valor energético en kcal.

Returns:

  • Fila completa de valor energético en kcal



42
43
44
45
46
47
48
49
# File 'lib/alimentos/alimentos.rb', line 42

def fila_valor_energetico_kcal()
   	@valor_energetico_kcal = ((@grasas_saturadas*9) + (@grasas_monosaturadas*9) + (@grasas_polisaturadas*9) + (@hidratos_carbono*4) + (@azucares*4) + (@polialcoholes*2.4) + (@almidon*4) + (@fibra*2) + (@proteinas*4) + (@sal*6)).round(1)
   	@valor_energetico_kcal_cien_gramos = ((@valor_energetico_kcal/@cantidad)*100).round(1)
   	@valor_energetico_kcal_ir = ((@valor_energetico_kcal/2000)*100).round(1)
   	@valor_energetico_kcal_porcion = ((@valor_energetico_kcal/@cantidad)*@porcion).round(1)
   	@valor_energetico_kcal_ir_porcion = ((@valor_energetico_kcal/2000)*@porcion).round(1)
   	[@valor_energetico_kcal_cien_gramos,@valor_energetico_kcal_ir,@valor_energetico_kcal_porcion,@valor_energetico_kcal_ir_porcion]
end

#fila_valor_energetico_kjObject

Esta función consiste en los cálculos de la fila completa de valor energético en kj (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de valor energético en kj



31
32
33
34
35
36
37
38
# File 'lib/alimentos/alimentos.rb', line 31

def fila_valor_energetico_kj()
   	@valor_energetico_kj = ((@grasas_saturadas*37) + (@grasas_monosaturadas*37) + (@grasas_polisaturadas*37) + (@hidratos_carbono*17) + (@polialcoholes*10) + (@almidon*17) +(@fibra*8) + (@azucares*10) + (@proteinas*17) + (@sal*25)).round(1)
   	@valor_energetico_kj_cien_gramos = ((@valor_energetico_kj/@cantidad)*100).round(1)
   	@valor_energetico_kj_ir = ((@valor_energetico_kj/8400)*100).round(1)
   	@valor_energetico_kj_porcion = ((@valor_energetico_kj/@cantidad)*@porcion).round(1)
   	@valor_energetico_kj_ir_porcion = ((@valor_energetico_kj/8400)*@porcion).round(1)
   	[@valor_energetico_kj_cien_gramos,@valor_energetico_kj_ir,@valor_energetico_kj_porcion,@valor_energetico_kj_ir_porcion]
end

#fila_vitaminas_mineralObject

Esta función consiste en los cálculos de la fila completa de vitaminas (Por 100 gr/ IR por 100gr/ Por porción / Ir por porción)

Returns:

  • Fila completa de vitaminas



170
171
172
173
174
175
176
# File 'lib/alimentos/alimentos.rb', line 170

def fila_vitaminas_mineral()
   	@vitaminas_mineral_cien_gramos = ((@vitaminas_mineral/@cantidad)*100).round(1)
   	@vitaminas_mineral_ir = ((@vitaminas_mineral/20)*100).round(1)
   	@vitaminas_mineral_porcion = ((@vitaminas_mineral/@cantidad)*@porcion).round(1)
   	@vitaminas_mineral_ir_porcion = ((@vitaminas_mineral/20)*@porcion).round(1)
   	[@vitaminas_mineral_cien_gramos,@vitaminas_mineral_ir,@vitaminas_mineral_porcion,@vitaminas_mineral_ir_porcion]
end

#to_sObject

Returns Matriz completa de la información nuticional.

Returns:

  • Matriz completa de la información nuticional



179
180
181
# File 'lib/alimentos/alimentos.rb', line 179

def to_s()
	"#{fila_valor_energetico_kj()}\n#{fila_valor_energetico_kcal()}\n#{fila_grasas()}\n#{fila_grasas_saturada()}\n#{fila_grasas_monosaturadas()}\n#{fila_grasas_polisaturadas()}\n#{fila_hidratos_carbono()}\n#{fila_azucares()}\n#{fila_polialcoholes()}\n#{fila_almidon()}\n#{fila_fibra()}\n#{fila_proteinas()}\n#{fila_sal()}\n#{fila_vitaminas_mineral()}"
end