class Alimentos

Esta clase permite representar alimentos con sus distintos macronutrientres. Su desarrollo ha sido dirigido por pruebas (TDD). Se han incluido el mixin Comparable

Author

Sergio Ferrera de Diego (sergioferrera1296@gmail.com)

Copyright

Cretive Commons

License

Distributes under the same terms as Ruby

Attributes

alimento[R]
g[RW]
glucidos[R]
grasas[R]
proteinas[R]

Public Class Methods

new(alimento,proteinas,glucidos,grasas) click to toggle source

Método para asignar los datos del alimento

@param alimento nombre del alimento @param proteinas cantidad de proteinas del alimento @param glucidos cantidad de glucidos del alimento @param grasas cantidad de grasas del alimento

# File lib/prct06/alimentos.rb, line 33
def initialize(alimento,proteinas,glucidos,grasas)
  @alimento = alimento
  @proteinas = proteinas
  @glucidos = glucidos
  @grasas = grasas
end

Public Instance Methods

<=>(other) click to toggle source

Método para definir la forma en la que comparar instancias de la clase

# File lib/prct06/alimentos.rb, line 19
def <=>(other)
    valor_ener <=> other.valor_ener
end
==(other) click to toggle source
# File lib/prct06/alimentos.rb, line 23
def == (other)
    alimento == other.alimento
end
AIBC() click to toggle source

Método para calcular el Área incremental bajo la curva (AIBC) de un alimento o glucosa, dependiendo de que se le pase por parametro

@param mediciones vector que contiene mediciones de glucosa o de un alimento

# File lib/prct06/alimentos.rb, line 53
def AIBC
    aibc=Array.new
    g.each do |x|
        almacen=Array.new
        vec_2=(1..x.length-1).to_a.zip(x.drop(1))
        vec_2.each{ |val|  almacen<<(((val[1]-x[0]+x[val[0]-1]-x[0])/2)*5).round(2)}
        aibc<<(almacen.reduce :+)
    end
    aibc
end
to_s() click to toggle source

Método para definir la forma en la que mostrar los datos del alimento

# File lib/prct06/alimentos.rb, line 41
    def to_s
    "(#{@alimento}, #{@proteinas}, #{@glucidos}, #{@grasas})"
end
valor_ener() click to toggle source

Método para calcular el valor energetico del alimento

# File lib/prct06/alimentos.rb, line 46
    def valor_ener
    (@glucidos*4) + (@grasas*9) + (@proteinas*4)
end