Class: Etiqueta

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, grasas, grasas_saturadas, hidratos_de_carbono, azucares, proteinas, sal, porciones) ⇒ Etiqueta

Returns a new instance of Etiqueta.



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 7

def initialize(nombre, grasas, grasas_saturadas, hidratos_de_carbono, azucares, proteinas, sal, porciones)
  @nombre = nombre
  @valor_energetico_kj = (grasas * 37) + (grasas_saturadas * 37) + (hidratos_de_carbono * 17) + (azucares * 17) + (proteinas * 17) + (sal * 25)
  @valor_energetico_kcal = (grasas * 9) + (grasas_saturadas * 9) + (hidratos_de_carbono * 4) + (azucares * 4) + (proteinas * 4) + (sal * 6)
  @grasas = grasas
  @grasas_saturadas = grasas_saturadas
  @hidratos_de_carbono = hidratos_de_carbono
  @azucares = azucares
  @proteinas = proteinas
  @sal = sal
  @numero_porciones = porciones[0]
  @gramos_porcion = porciones[1]
end

Instance Attribute Details

#azucaresObject (readonly)

Returns the value of attribute azucares.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def azucares
  @azucares
end

#grasasObject (readonly)

Returns the value of attribute grasas.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def grasas
  @grasas
end

#grasas_saturadasObject (readonly)

Returns the value of attribute grasas_saturadas.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def grasas_saturadas
  @grasas_saturadas
end

#hidratos_de_carbonoObject (readonly)

Returns the value of attribute hidratos_de_carbono.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def hidratos_de_carbono
  @hidratos_de_carbono
end

#nombreObject (readonly)

Returns the value of attribute nombre.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def nombre
  @nombre
end

#porcionesObject (readonly)

Returns the value of attribute porciones.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def porciones
  @porciones
end

#proteinasObject (readonly)

Returns the value of attribute proteinas.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def proteinas
  @proteinas
end

#salObject (readonly)

Returns the value of attribute sal.



5
6
7
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 5

def sal
  @sal
end

Instance Method Details

#+(other) ⇒ Object



111
112
113
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 111

def +(other)
  @valor_energetico_kcal + other.obtener_valor_energetico_kcal
end

#<=>(other) ⇒ Object



105
106
107
108
109
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 105

def <=>(other)
  # los comentarios locales a los métodos no generan documentación
  return nil unless other.instance_of? Etiqueta
  @valor_energetico_kcal <=> other.obtener_valor_energetico_kcal
end

#ir_azucaresObject



79
80
81
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 79

def ir_azucares
  (@azucares.round(2) /90 * 100).round(2)
end

#ir_grasa_totalObject



71
72
73
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 71

def ir_grasa_total
  ((@grasas.round(2) + @grasas_saturadas.round(2)) / 70 * 100).round(2)
end

#ir_hidratos_carbonoObject



75
76
77
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 75

def ir_hidratos_carbono
  (@hidratos_de_carbono.round(2) /260 * 100).round(2)
end

#ir_proteinasObject



83
84
85
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 83

def ir_proteinas
  (@proteinas.round(2) / 50 * 100).round(2)
end

#ir_salObject



87
88
89
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 87

def ir_sal
  (@sal.round(2) / 6 * 100).round(2)
end

#ir_valor_energetico_kcalObject



67
68
69
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 67

def ir_valor_energetico_kcal
  (@valor_energetico_kcal.round(2) / 2000 * 100).round(2)
end

#ir_valor_energetico_kjObject



63
64
65
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 63

def ir_valor_energetico_kj
  (@valor_energetico_kj.round(2) / 8400 * 100).round(2)
end

#obtener_azucarObject



39
40
41
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 39

def obtener_azucar
  @azucares
end

#obtener_grasasObject



27
28
29
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 27

def obtener_grasas
  @grasas
end

#obtener_grasas_saturadasObject



31
32
33
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 31

def obtener_grasas_saturadas
  @grasas_saturadas
end

#obtener_hidratos_carbonoObject



35
36
37
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 35

def obtener_hidratos_carbono
  @hidratos_de_carbono
end

#obtener_nombreObject



23
24
25
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 23

def obtener_nombre
  @nombre
end

#obtener_numero_porcionesObject



51
52
53
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 51

def obtener_numero_porciones
  @numero_porciones
end

#obtener_proteinasObject



43
44
45
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 43

def obtener_proteinas
  @proteinas
end

#obtener_salObject



47
48
49
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 47

def obtener_sal
  @sal
end

#obtener_valor_energetico_kcalObject



59
60
61
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 59

def obtener_valor_energetico_kcal
  @valor_energetico_kcal
end

#obtener_valor_energetico_kjObject



55
56
57
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 55

def obtener_valor_energetico_kj
  @valor_energetico_kj
end

#to_sObject



91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/etiqueta_nutricional/etiqueta_nutricional.rb', line 91

def to_s
  s1 = "Nombre: #{@nombre}\n"
  s2 = "Valor energetico kj: #{@valor_energetico_kj}kj\n"
  s3 = "Valor energetico kcal: #{@valor_energetico_kcal}kcal\n"
  s4 = "Grasas: #{@grasas}g\n"
  s5 = "Grasas saturadas: #{@grasas_saturadas}g\n"
  s6 = "Hidratos de carbono: #{@hidratos_de_carbono}g\n"
  s7 = "Proteinas: #{@proteinas}g\n"
  s8 = "Azucares: #{@azucares}g\n"
  s9 = "Sal: #{@sal}g\n"
  cadena = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9
  return cadena
end