Class: Eficiencia
- Includes:
- Comparable
- Defined in:
- lib/feeding/plato.rb
Overview
- Author
-
Eduardo Estévez Rodríguez ([email protected])
- Copyright
-
Cretive Commons
- License
-
Distributes under the same terms as Ruby
Instance Attribute Summary
Attributes inherited from Plato
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Se define para incluir el mixin Comparable Se toma como valor para la comparación la huella nutricional del plato.
-
#get_alimentos ⇒ Object
Devuelve los alimentos que componen el plato.
-
#get_gasesA ⇒ Object
Devuelve la cantidad de gases anuales emitidos al producir el plato.
-
#get_gasesD ⇒ Object
Devuelve la cantidad de gases diarios emitidos al producir el plato.
-
#get_gramos ⇒ Object
Devuelve los gramos de los alimentos que componen el plato.
-
#get_nombre ⇒ Object
Devuelve el nombre del plato.
-
#get_terreno ⇒ Object
Devuelve la cantidad de terreno que utiliza al producir el plato.
-
#hn ⇒ Object
Calcula la huella nutricional del plato.
-
#initialize(nombre, alimentos, gramos) ⇒ Eficiencia
constructor
Se asigna el nombre del plato, los alimentos y la cantidad en gramos que los mismos.
-
#to_s ⇒ Object
Devuelve el plato formateado con la informacón nutricional y ambiental.
Methods inherited from Plato
#get_cbh, #get_kcal, #get_lpd, #get_prt
Constructor Details
#initialize(nombre, alimentos, gramos) ⇒ Eficiencia
Se asigna el nombre del plato, los alimentos y la cantidad en gramos que los mismos. Función heredada
120 121 122 |
# File 'lib/feeding/plato.rb', line 120 def initialize(nombre, alimentos, gramos) super(nombre, alimentos, gramos) end |
Instance Method Details
#<=>(other) ⇒ Object
Se define para incluir el mixin Comparable Se toma como valor para la comparación la huella nutricional del plato
200 201 202 |
# File 'lib/feeding/plato.rb', line 200 def <=>(other) hn <=> other.hn end |
#get_alimentos ⇒ Object
Devuelve los alimentos que componen el plato. Función heredada
130 131 132 |
# File 'lib/feeding/plato.rb', line 130 def get_alimentos super end |
#get_gasesA ⇒ Object
Devuelve la cantidad de gases anuales emitidos al producir el plato
145 146 147 148 149 150 151 152 153 154 155 |
# 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 ⇒ Object
Devuelve la cantidad de gases diarios emitidos al producir el plato
140 141 142 |
# File 'lib/feeding/plato.rb', line 140 def get_gasesD (get_gasesA / 365).round(3) end |
#get_gramos ⇒ Object
Devuelve los gramos de los alimentos que componen el plato. Función heredada
135 136 137 |
# File 'lib/feeding/plato.rb', line 135 def get_gramos super end |
#get_nombre ⇒ Object
Devuelve el nombre del plato. Función heredada
125 126 127 |
# File 'lib/feeding/plato.rb', line 125 def get_nombre super end |
#get_terreno ⇒ Object
Devuelve la cantidad de terreno que utiliza al producir el plato
158 159 160 161 162 163 164 165 166 167 168 169 |
# 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 ⇒ Object
Calcula la huella nutricional del plato
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# 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 ⇒ Object
Devuelve el plato formateado con la informacón nutricional y ambiental
172 173 174 175 |
# File 'lib/feeding/plato.rb', line 172 def to_s super + "(#{get_gasesA}, #{get_gasesD}, #{get_terreno})" end |