class Alimentos::PlatoA

Encargada de la representacion de un plato centrada en su impacto ambiental

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

Public Class Methods

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

Llama al constructor de Plato (su padre)

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

Calls superclass method Alimentos::Plato::new
# File lib/alimentos.rb, line 298
def initialize(name, receip, grams)
  super(name, receip, grams)
end

Public Instance Methods

<=>(param) click to toggle source

Comparable para PlatoA, centrado en la huella nutricional

@param [Plato] param PlatoA a comparar

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

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

Calcula la huella nutricional de un plato y halla su baremo

@return [Float] Media entre la huella calorica y ambiental baremadas

# File lib/alimentos.rb, line 318
def huella_nut
  cal = calories
  gas = plato_ambiente

  if cal < 670
    cal = 1
  elsif cal < 830
    cal = 2
  else
    cal = 3
  end

  if gas < 800
    gas = 1
  elsif gas < 1200
    gas = 2
  else
    gas = 3
  end

  (cal + gas) / 2.round(2)
end
plato_ambiente() click to toggle source

Calcula el impacto ambiental de un plato

@return [Float] Impacto ambiental del plato

# File lib/alimentos.rb, line 376
def plato_ambiente
  aux = []
  for i in 0..@grams.length() - 1
    aux[i] = @grams[i] / 100
  end
  x = 0
  for i in 0..@receip.tam - 1
    x += @receip.lista[i].value.gei * aux[i]
  end
  x.round(2)
end
plato_gei() click to toggle source

Calcula los gases de efecto invernaderos de un plato

@return [Float] Gases de efecto invernadero

# File lib/alimentos.rb, line 346
def plato_gei
  aux = 0
  for i in 0..@receip.tam - 1
    aux += @receip.lista[i].value.gei
  end
  aux.round(2)
end
plato_terreno() click to toggle source

Cacula el uso del terreno en m^2 de un plato

@return [Float] Uso del terreno en M^2

# File lib/alimentos.rb, line 359
def plato_terreno
  aux = []
  for i in 0..@grams.length() - 1
    aux[i] = @grams[i] / 100
  end
  x = 0
  for i in 0..@receip.tam - 1
    x += @receip.lista[i].value.terrain * aux[i]
  end
  x.round(2)
end
to_s() click to toggle source

Formato del plato a string

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

# File lib/alimentos.rb, line 393
def to_s
  "#{plato_gei}, #{plato_terreno}"
end