Class: Alimento
- Inherits:
-
Object
- Object
- Alimento
- Includes:
- Comparable
- Defined in:
- lib/alimento/Alimento.rb,
lib/alimento/version.rb
Overview
Representación de un alimento según sus calorías aportadas y la cantidad de glucidos, proteinas y lipidos contenidos
Direct Known Subclasses
Constant Summary
- VERSION =
Version de la clase Alimento
"1.0.0"
Instance Attribute Summary collapse
- #glucidos ⇒ Object readonly
- #indexGluc ⇒ Object readonly
- #lipidos ⇒ Object readonly
- #nombre ⇒ Object readonly
-
#Number ⇒ Object
readonly
glucidos glucidos contenidos en el alimento.
- #proteinas ⇒ Object readonly
-
#String ⇒ Object
readonly
nombre Nombre del alimento.
Instance Method Summary collapse
-
#<=>(other) ⇒ Number
Constructor de Alimento.
-
#calculate_index(data, gluc) ⇒ Object
Calcula el indice glucemico de un alimento.
-
#initialize(nombre, glucidos, proteinas, lipidos) ⇒ Alimento
constructor
Constructor de Alimento.
-
#kcal ⇒ Number
Constructor de Alimento.
-
#to_s ⇒ String
Convierte el objeto en un String.
Constructor Details
#initialize(nombre, glucidos, proteinas, lipidos) ⇒ Alimento
Constructor de Alimento
20 21 22 23 24 25 26 |
# File 'lib/alimento/Alimento.rb', line 20 def initialize(nombre, glucidos, proteinas, lipidos) @nombre = nombre @glucidos = glucidos @proteinas = proteinas @lipidos = lipidos @indexGluc = nil end |
Instance Attribute Details
#glucidos ⇒ Object (readonly)
11 12 13 |
# File 'lib/alimento/Alimento.rb', line 11 def glucidos @glucidos end |
#indexGluc ⇒ Object (readonly)
11 12 13 |
# File 'lib/alimento/Alimento.rb', line 11 def indexGluc @indexGluc end |
#lipidos ⇒ Object (readonly)
11 12 13 |
# File 'lib/alimento/Alimento.rb', line 11 def lipidos @lipidos end |
#nombre ⇒ Object (readonly)
11 12 13 |
# File 'lib/alimento/Alimento.rb', line 11 def nombre @nombre end |
#Number ⇒ Object (readonly)
glucidos glucidos contenidos en el alimento
9 10 11 |
# File 'lib/alimento/Alimento.rb', line 9 def Number @Number end |
#proteinas ⇒ Object (readonly)
11 12 13 |
# File 'lib/alimento/Alimento.rb', line 11 def proteinas @proteinas end |
#String ⇒ Object (readonly)
nombre Nombre del alimento
9 10 11 |
# File 'lib/alimento/Alimento.rb', line 9 def String @String end |
Instance Method Details
#<=>(other) ⇒ Number
Constructor de Alimento
76 77 78 |
# File 'lib/alimento/Alimento.rb', line 76 def <=>(other) kcal <=> other.kcal end |
#calculate_index(data, gluc) ⇒ Object
Calcula el indice glucemico de un alimento
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/alimento/Alimento.rb', line 32 def calculate_index(data, gluc) aibc = [[],[]] data.each do |x| t = 0 x.each_index do |a| if (a != 0) t += (((x[a] - x[0]) + (x[a - 1] - x[0])) /2)*5 end end aibc[0] << t end gluc.each do |x| t = 0 x.each_index do |a| if (a != 0) t += (((x[a] - x[0]) + (x[a - 1] - x[0])) /2)*5 end end aibc[1] << t end igind = [] aibc[0].each_index { |x| igind << ((aibc[0][x] / aibc[1][x]) * 100)} suma = 0 igind.each{ |x| suma += x} @indexGluc = (suma / igind.length) end |
#kcal ⇒ Number
Constructor de Alimento
69 70 71 |
# File 'lib/alimento/Alimento.rb', line 69 def kcal @proteinas * 4 + @glucidos * 4 + @lipidos * 9 end |
#to_s ⇒ String
Convierte el objeto en un String
62 63 64 65 |
# File 'lib/alimento/Alimento.rb', line 62 def to_s x = "#{nombre}: #{proteinas}g proteínas, #{glucidos}g glúcidos, #{lipidos}g lípidos" return x end |