class Alimento

@author Miguel Jiménez Gomis Esta clase representa a un alimento

Attributes

glucidos[R]

Permite la lectura de estas variables

indexglucosa[R]

Permite la lectura de estas variables

lipidos[R]

Permite la lectura de estas variables

nombre[R]

Permite la lectura de estas variables

proteinas[R]

Permite la lectura de estas variables

Public Class Methods

new(nombre, p, g, l) click to toggle source
# File lib/nutrientes/alimento.rb, line 10
def initialize(nombre, p, g, l)
        @nombre = nombre
        @proteinas = p
        @glucidos = g
        @lipidos = l
        @indexglucosa = nil
end

Public Instance Methods

<=>(anOther) click to toggle source

Operador <=> para el modulo Comparable

@param anOther [Alimento] Otro objeto de tipo alimento @return [bool] -1 menor, 0 igual, 1 mayor.

# File lib/nutrientes/alimento.rb, line 71
def <=>(anOther)
        return self.v_energetico <=> anOther.v_energetico
end
calculate_index(data, glucosa) click to toggle source

Calcula el indice glucemico de un alimento

@param data [Array] Vector con los datos glucemicos de los alimentos
@param glucosa [Array] Vector con los datos de la gluco
# File lib/nutrientes/alimento.rb, line 22
def calculate_index(data, glucosa)
        aibc = []
        aibc_gluc = []
        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 << t
        end
        glucosa.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_gluc << t
        end
        
        #aibc.each{|x| x = x/48}
        #aibc_gluc.each{|x| x = x/48}
        igind = []
        aibc.each_index { |x|  igind << ((aibc[x] / aibc_gluc[x]) * 100)}
        
        #suma = 0
        #igind.each{ |x| suma += x}
        #@indexglucosa = (suma / igind.length)
        @indexglucosa = igind.sum / igind.length
        #@indexglucosa = igind.reduce('+') / igind.length version 2.3.0 de ruby
end
to_s() click to toggle source

Converts the object into a string

# File lib/nutrientes/alimento.rb, line 57
def to_s()
        return "Nombre: #{@nombre}, Proteinas: #{@proteinas}gr, GlĂșcidos: #{@glucidos}gr, Lipidos: #{@lipidos}gr, Valor energetico = #{v_energetico()}"
end
v_energetico() click to toggle source

Este metodo calcula el valor energetico de un alimento @return [Integer] El calculo del valor energetico.

# File lib/nutrientes/alimento.rb, line 63
def v_energetico()
        return (@proteinas * 4 + @glucidos * 4 + @lipidos * 9)
end