class Alimento
- Author
-
Eduardo Estévez Rodríguez (alu0101014319@ull.edu.es)
- Copyright
-
Cretive Commons
- License
-
Distributes under the same terms as Ruby
Attributes
Se ha incluido el mixin Comparable
Se ha incluido el mixin Comparable
Se ha incluido el mixin Comparable
Se ha incluido el mixin Comparable
Se ha incluido el mixin Comparable
Se ha incluido el mixin Comparable
Public Class Methods
Se asigna el nombre del alimento junto con su información nutricional e impacto ambiental
# File lib/feeding/alimento.rb, line 16 def initialize(no,pr,ca,li,gei,te) @no = no @pr = pr @ca = ca @li = li @gei = gei @te = te end
Public Instance Methods
Se define para incluir el mixin comparable tomando como valor para la comparación la cantidad de kcalorías que posee el alimento
# File lib/feeding/alimento.rb, line 86 def <=>(other) kcal <=> other.kcal end
Devuelve la cantidad de carbohidratos que posee
# File lib/feeding/alimento.rb, line 36 def carbohidratos @ca end
Devuelve la cantidad de gases que emite anualmente
# File lib/feeding/alimento.rb, line 46 def gases @gei end
Devuelve el impacto ambiental diario que genera la alimentación de una persona adulta
# File lib/feeding/alimento.rb, line 66 def impacto(gr, alimento1,a1gr, alimento2,a2gr, alimento3,a3gr, alimento4,a4gr) v_impacto = [] v_impacto[0] = (porcion_gases(gr) + alimento1.porcion_gases(a1gr) + alimento2.porcion_gases(a2gr) + alimento3.porcion_gases(a3gr) + alimento4.porcion_gases(a4gr)).round(2) v_impacto[1] = (porcion_terreno(gr) + alimento1.porcion_terreno(a1gr) + alimento2.porcion_terreno(a2gr) + alimento3.porcion_terreno(a3gr) + alimento4.porcion_terreno(a4gr)).round(2) v_impacto.to_s end
Devuelve la cantidad de kcalorías que aporta
# File lib/feeding/alimento.rb, line 61 def kcal (@pr * 4 + @ca * 4 + @li * 9).round(2) end
Devuelve la cantidad de lipidos que posee
# File lib/feeding/alimento.rb, line 41 def lipidos @li end
Devuelve el nombre del alimento
# File lib/feeding/alimento.rb, line 26 def name @no end
Calcula la cantidad de gases que emite cierta cantidad de gramos del alimento
# File lib/feeding/alimento.rb, line 76 def porcion_gases(gramos) gases = ((gramos * @gei) / 1000).round(2) end
Calcula la cantidad de terreno que utiliza cierta cantidad de gramos del alimento para su producción
# File lib/feeding/alimento.rb, line 81 def porcion_terreno(gramos) metros = ((gramos * @te) / 1000).round(2) end
Devuelve la cantidad de proteínas que posee
# File lib/feeding/alimento.rb, line 31 def proteina @pr end
Devuelve la cantidad de terreno que usa para su producción
# File lib/feeding/alimento.rb, line 51 def terreno @te end
Devuelve el alimento formateado
# File lib/feeding/alimento.rb, line 56 def to_s "(#{@no}, #{@pr}, #{@ca}, #{@li}, #{@gei}, #{@te})" end