class Alimentos::Plato

Encargada de la representacion de un plato con diferentes cantidades de alimentos

@author Pablo Molina Martinez alu0101103181@ull.edu.es

Attributes

grams[R]
name[R]
receip[R]

Public Class Methods

new(name, receip, grams) click to toggle source

Da valor a las variables de instacia de la clase

@param [String] name Nombre del plato @param [Array] receip Lista de alimentos del plato @param [Array] grams Lista de gramos de los alimentos

# File lib/alimentos.rb, line 179
def initialize(name, receip, grams)
  @name = name
  @receip = receip
  @grams = grams
end

Public Instance Methods

<=>(param) click to toggle source

Comparable para Plato, centrado en las calorias

@param [Plato] param Plato a comparar

@return [Bool] Devuelve el booleano de realizar la comprobacion de Comparable

# File lib/alimentos.rb, line 192
def <=>(param)
  calories <=> param.calories
end
calories() click to toggle source

Calcula las calorias de un plato en comparacion a los gramos

@return [Float] Calorias del plato con respecto a sus gramos

# File lib/alimentos.rb, line 255
def calories
  aux = []
  for i in 0..@grams.length() - 1
    aux[i] = @grams[i] / 100
  end

  cal = 0
  for i in 0..@grams.length() - 1
    cal += @receip.lista[i].value.energi * aux[i]
  end

  (cal).round(2)
end
carPercent() click to toggle source

Calcula el porcentaje de carbohidratos de un plato

@return [Float] Porcentaje de carbohidratos

# File lib/alimentos.rb, line 237
def carPercent
  aux = 0
  for i in 0..@receip.tam - 1
    aux += @receip.lista[i].value.car
  end

  x = []
  for i in 0..@receip.tam - 1
    x[i] = (@receip.lista[i].value.car / aux).round(2)
  end
  x
end
lipPercent() click to toggle source

Calcula el porcentaje de lipidos de un plato

@return [Float] Porcentaje de lipidos

# File lib/alimentos.rb, line 219
def lipPercent
  aux = 0
  for i in 0..@receip.tam - 1
    aux += @receip.lista[i].value.lip
  end

  x = []
  for i in 0..@receip.tam - 1
    x[i] = (@receip.lista[i].value.lip / aux).round(2)
  end
  x
end
proPercent() click to toggle source

Calcula el porcentaje de proteinas de un plato

@return [Float] Porcentaje de proteinas

# File lib/alimentos.rb, line 201
def proPercent
  aux = 0
  for i in 0..@receip.tam - 1
    aux += @receip.lista[i].value.pro
  end

  x = []
  for i in 0..@receip.tam - 1
    x[i] = (@receip.lista[i].value.pro / aux).round(2)
  end
  x
end
to_s() click to toggle source

Formato de un plato a string

@return [String] String con el formato para la representacion de un plato

# File lib/alimentos.rb, line 274
def to_s
  aux = ""
  for i in 0..@receip.tam - 1
    aux += "#{@receip.lista[i].value.name} "
  end
  aux
end