Class: Plato

Inherits:
BasicPlato show all
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

See Also:

Author:

  • Guillermo Hernández González

Instance Attribute Summary

Attributes inherited from BasicPlato

#lista_alimentos, #nombre

Instance Method Summary collapse

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

#geiObject

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_ambientalObject

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

#terrenosObject

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_sObject

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