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

new(nombre, alimentos, gramos) click to toggle source

Se asigna el nombre del plato, los alimentos y la cantidad en gramos que los mismos. Función heredada

Calls superclass method Plato::new
# File lib/feeding/plato.rb, line 120
def initialize(nombre, alimentos, gramos)
        super(nombre, alimentos, gramos)
end

Public Instance Methods

<=>(other) click to toggle source

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
get_alimentos() click to toggle source

Devuelve los alimentos que componen el plato. Función heredada

Calls superclass method Plato#get_alimentos
# File lib/feeding/plato.rb, line 130
def get_alimentos
        super
end
get_gasesA() click to toggle source

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
get_gasesD() click to toggle source

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
get_gramos() click to toggle source

Devuelve los gramos de los alimentos que componen el plato. Función heredada

Calls superclass method Plato#get_gramos
# File lib/feeding/plato.rb, line 135
def get_gramos
        super
end
get_nombre() click to toggle source

Devuelve el nombre del plato. Función heredada

Calls superclass method Plato#get_nombre
# File lib/feeding/plato.rb, line 125
def get_nombre
        super
end
get_terreno() click to toggle source

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
hn() click to toggle source

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
to_s() click to toggle source

Devuelve el plato formateado con la informacón nutricional y ambiental

Calls superclass method Plato#to_s
# File lib/feeding/plato.rb, line 172
def to_s
        super + "(#{get_gasesA}, #{get_gasesD}, #{get_terreno})"

end