Class: Plato
- Inherits:
-
BasicPlato
- Object
- BasicPlato
- Plato
- Includes:
- Comparable
- Defined in:
- lib/p6/basicplato.rb
Overview
Clase Plato, Hereda de la clase BasicPlato todos sus métodos y contiene un método extra para calcular la huella ambiental
Instance Attribute Summary
Attributes inherited from BasicPlato
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Método necesario para que la clase sea comparable.
-
#gei ⇒ Object
Devuelve la cantidad de gases generados.
-
#huella_ambiental ⇒ Object
Devuelve la huella ambiental del plato.
-
#initialize(nombre, lista_alimentos) ⇒ Plato
constructor
Construye un plato tras pasarle su nombre y la lista de alimentos que lo compondrá un plato.
-
#terrenos ⇒ Object
Devuelve la cantidad de terreno utilizado.
-
#to_plato_s ⇒ Object
Devuelve el nombre y la lista de alimentos en un string.
Methods inherited from BasicPlato
#gramos, #hidratos_carbono, #lipidos, #proteinas, #to_s, #vct
Constructor Details
#initialize(nombre, lista_alimentos) ⇒ Plato
Construye un plato tras pasarle su nombre y la lista de alimentos que lo compondrá un plato
95 96 97 |
# File 'lib/p6/basicplato.rb', line 95 def initialize(nombre,lista_alimentos) super(nombre,lista_alimentos) end |
Instance Method Details
#<=>(other) ⇒ Object
Método necesario para que la clase sea comparable
132 133 134 |
# File 'lib/p6/basicplato.rb', line 132 def <=>(other) huella_ambiental <=> other.huella_ambiental end |
#gei ⇒ Object
Devuelve la cantidad de gases generados
101 102 103 104 105 106 107 |
# File 'lib/p6/basicplato.rb', line 101 def gei geis = 0 @lista_alimentos.each do |i| geis += i.gases end return geis end |
#huella_ambiental ⇒ Object
Devuelve la huella ambiental del plato
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/p6/basicplato.rb', line 138 def huella_ambiental energia = 0.0 carbono = 0.0 huella = 0.0 if vct < 670 then energia = 1.0 elsif vct <= 830 then energia = 2.0 else energia = 3.0 end if gei < 800 then carbono = 1.0 elsif terrenos <= 1200 then carbono = 2.0 else carbono = 3.0 end huella = (energia + carbono)/2 return huella end |
#terrenos ⇒ Object
Devuelve la cantidad de terreno utilizado
111 112 113 114 115 116 117 |
# File 'lib/p6/basicplato.rb', line 111 def terrenos terreno = 0 @lista_alimentos.each do |i| terreno += i.terreno end return terreno end |
#to_plato_s ⇒ Object
Devuelve el nombre y la lista de alimentos en un string
121 122 123 124 125 126 127 128 |
# File 'lib/p6/basicplato.rb', line 121 def to_plato_s aaa = "" aaa +="Plato: #{@nombre} \n" @lista_alimentos.each do |i| aaa +="Valor energético: #{i.val_ener} \n" end return aaa end |