class Eficiencia
- Author
-
Eduardo Estévez Rodríguez (alu0101014319@ull.edu.es)
- Copyright
-
Cretive Commons
- License
-
Distributes under the same terms as Ruby
Public Class Methods
Se asigna el nombre del plato, los alimentos y la cantidad en gramos que los mismos. Función heredada
Plato::new
# File lib/feeding/plato.rb, line 120 def initialize(nombre, alimentos, gramos) super(nombre, alimentos, gramos) end
Public Instance Methods
Se define para incluir el mixin Comparable Se toma como valor para la comparación la huella nutricional del plato
# File lib/feeding/plato.rb, line 200 def <=>(other) hn <=> other.hn end
Devuelve los alimentos que componen el plato. Función heredada
Plato#get_alimentos
# File lib/feeding/plato.rb, line 130 def get_alimentos super end
Devuelve la cantidad de gases anuales emitidos al producir el plato
# File lib/feeding/plato.rb, line 145 def get_gasesA aux_gases = @alimentos.get_head() aux_gr = @gramos.get_head() gases_t = 0 while !aux_gases.nil? gases_t += (aux_gases[:value].porcion_gases(aux_gr[:value])) aux_gases = aux_gases[:next] aux_gr = aux_gr[:next] end gases_t.round(2) end
Devuelve la cantidad de gases diarios emitidos al producir el plato
# File lib/feeding/plato.rb, line 140 def get_gasesD (get_gasesA / 365).round(3) end
Devuelve los gramos de los alimentos que componen el plato. Función heredada
Plato#get_gramos
# File lib/feeding/plato.rb, line 135 def get_gramos super end
Devuelve el nombre del plato. Función heredada
Plato#get_nombre
# File lib/feeding/plato.rb, line 125 def get_nombre super end
Devuelve la cantidad de terreno que utiliza al producir el plato
# File lib/feeding/plato.rb, line 158 def get_terreno aux_terreno = @alimentos.get_head() aux_gr = @gramos.get_head() terreno_t = 0 while !aux_terreno.nil? terreno_t += (aux_terreno[:value].porcion_terreno(aux_gr[:value])) aux_terreno = aux_terreno[:next] aux_gr = aux_gr[:next] end terreno_t.round(2) end
Calcula la huella nutricional del plato
# File lib/feeding/plato.rb, line 178 def hn if (get_kcal < 670) v_kcal = 1 elsif (get_kcal > 830) v_kcal = 3 else v_kcal = 2 end if (get_gasesA < 0.8) v_gases = 1 elsif (get_gasesA > 1.2) v_gases = 3 else v_gases = 1 end ((v_kcal + v_gases)/2.0).round(2) end
Devuelve el plato formateado con la informacón nutricional y ambiental
Plato#to_s
# File lib/feeding/plato.rb, line 172 def to_s super + "(#{get_gasesA}, #{get_gasesD}, #{get_terreno})" end