Class: Alimentos::PlatoA
- Includes:
- Comparable
- Defined in:
- lib/alimentos.rb
Overview
Encargada de la representacion de un plato centrada en su impacto ambiental
Instance Attribute Summary
Attributes inherited from Plato
Instance Method Summary collapse
-
#<=>(param) ⇒ Bool
Comparable para PlatoA, centrado en la huella nutricional.
-
#huella_nut ⇒ Float
Calcula la huella nutricional de un plato y halla su baremo.
-
#initialize(name, receip, grams) ⇒ PlatoA
constructor
Llama al constructor de Plato (su padre).
-
#plato_ambiente ⇒ Float
Calcula el impacto ambiental de un plato.
-
#plato_gei ⇒ Float
Calcula los gases de efecto invernaderos de un plato.
-
#plato_terreno ⇒ Float
Cacula el uso del terreno en m^2 de un plato.
-
#to_s ⇒ String
Formato del plato a string.
Methods inherited from Plato
#calories, #carPercent, #lipPercent, #proPercent
Constructor Details
#initialize(name, receip, grams) ⇒ PlatoA
Llama al constructor de Plato (su padre)
298 299 300 |
# File 'lib/alimentos.rb', line 298 def initialize(name, receip, grams) super(name, receip, grams) end |
Instance Method Details
#<=>(param) ⇒ Bool
Comparable para PlatoA, centrado en la huella nutricional
309 310 311 |
# File 'lib/alimentos.rb', line 309 def <=>(param) huella_nut <=> param.huella_nut end |
#huella_nut ⇒ Float
Calcula la huella nutricional de un plato y halla su baremo
318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 |
# 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 ⇒ Float
Calcula el impacto ambiental de un plato
376 377 378 379 380 381 382 383 384 385 386 |
# 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 ⇒ Float
Calcula los gases de efecto invernaderos de un plato
346 347 348 349 350 351 352 |
# 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 ⇒ Float
Cacula el uso del terreno en m^2 de un plato
359 360 361 362 363 364 365 366 367 368 369 |
# 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 ⇒ String
Formato del plato a string
393 394 395 |
# File 'lib/alimentos.rb', line 393 def to_s "#{plato_gei}, #{plato_terreno}" end |