Class: Plato_

Inherits:
Platos show all
Defined in:
lib/prct6/platos.rb

Overview

Clase plato_ heredada de clase platos

Instance Attribute Summary collapse

Attributes inherited from Platos

#alimentos, #cal_array, #emisiones_array, #nombre, #peso, #peso_total

Instance Method Summary collapse

Methods inherited from Platos

#cal_plato, #porcentaje

Constructor Details

#initialize(nombre, alimentos, peso, peso_total, cal_array, emisiones_array) ⇒ Plato_

Método initialize Método para inicializar los diferentes atributos de la clase



71
72
73
74
75
76
77
78
# File 'lib/prct6/platos.rb', line 71

def initialize(nombre, alimentos, peso, peso_total, cal_array, emisiones_array)
    
    super(nombre, alimentos, peso, peso_total, cal_array, emisiones_array)

    @cal_plato = cal_plato
    @emisiones_plato = emisiones_plato
    @huella = huella
end

Instance Attribute Details

#cal_totalObject (readonly)

Returns the value of attribute cal_total.



66
67
68
# File 'lib/prct6/platos.rb', line 66

def cal_total
  @cal_total
end

Instance Method Details

#<=>(other) ⇒ Object

Método <=> Método para comparar la eficiencia energética entre platos



150
151
152
# File 'lib/prct6/platos.rb', line 150

def <=>(other)
    @cal_plato <=> other.cal_plato
end

#emisiones_platoObject

Método emisiones_plato Método para calcular la cantidad de emisiones generadas en la realización de un plato @return: Devuelve las emisiones totales de un plato



83
84
85
86
87
88
89
90
91
92
# File 'lib/prct6/platos.rb', line 83

def emisiones_plato
    emisiones_plato=0
    i=0

    while i < emisiones_array.length do
        emisiones_plato += emisiones_array[i]
        i += 1
    end
    return emisiones_plato
end

#huellaObject

Método huella Método para hallar la huella nutricional de cada plato @return: Devuelve la huella generada; un valor comprendido entre 1 y 3



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/prct6/platos.rb', line 100

def huella
   @huella_e

    if @cal_plato <= 670
        @huella_e = 1.0
    elsif @cal_plato > 670 && @cal_plato <= 830
        @huella_e = 2.0
    else 
        @huella_e = 3.0
    end

   @huella_c

    if @emisiones_plato <= 670
        @huella_c = 1.0
    elsif @emisiones_plato > 670 && @emisiones_plato <= 830
        @huella_c = 2.0
    else 
        @huella_c = 3.0
    end

    return (@huella_e+@huella_c)/2
end

#suma(alimentos) ⇒ Object

Método suma Método anteriormente utilizado para calcular todas las sumas, que ahora solo ocupa la suma del terreno ocupado @return: La suma del array de entrada



128
129
130
131
132
133
134
135
136
137
# File 'lib/prct6/platos.rb', line 128

def suma(alimentos)
    total=0
    i=0

    while i<alimentos.length do
        total += alimentos[i]
        i+=1
    end
    return total
end

#to_sObject

Método to_s Método para sacar informacion formateada



143
144
145
# File 'lib/prct6/platos.rb', line 143

def to_s 
    return "Eficiencia = #{cal_plato}"
end