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
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
Alimentos::Plato::new
# File lib/alimentos.rb, line 298 def initialize(name, receip, grams) super(name, receip, grams) end
Public Instance Methods
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
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
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
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
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