Class: Platoefi

Inherits:
Plato show all
Defined in:
lib/platoefi.rb

Instance Attribute Summary collapse

Attributes inherited from Plato

#carbohidratos, #contenido, #lipidos, #nombre, #proteinas, #vct

Instance Method Summary collapse

Methods inherited from Plato

#get_carbohidratos, #get_lipidos, #get_proteinas

Constructor Details

#initialize(arraycontent, nombre) ⇒ Platoefi

Returns a new instance of Platoefi.

Parameters:

  • arraycontent (Array)

    array con los alimentos del plato

  • nombre (String)

    nombre del plato



25
26
27
28
29
30
# File 'lib/platoefi.rb', line 25

def initialize(arraycontent, nombre)
    super
    @gei = get_gei
    @usoterreno = get_usoterreno
    @eficiencia = get_eficiencia_energetica
end

Instance Attribute Details

#eficienciaObject

Devuelve el valor del atributo



19
20
21
# File 'lib/platoefi.rb', line 19

def eficiencia
  @eficiencia
end

#geiObject

Devuelve el valor del atributo



19
20
21
# File 'lib/platoefi.rb', line 19

def gei
  @gei
end

#usoterrenoObject

Devuelve el valor del atributo



19
20
21
# File 'lib/platoefi.rb', line 19

def usoterreno
  @usoterreno
end

Instance Method Details

#<=>(other) ⇒ Boolean

Returns verdadero o falso si se cumple la condición o no.

Returns:

  • (Boolean)

    verdadero o falso si se cumple la condición o no.



13
14
15
# File 'lib/platoefi.rb', line 13

def <=>(other)
 huella_nutricional <=> other.huella_nutricional
end

#get_eficiencia_energeticaFloat

Returns eficiencia energética.

Returns:

  • (Float)

    eficiencia energética



63
64
65
66
67
68
69
# File 'lib/platoefi.rb', line 63

def get_eficiencia_energetica
    aux = 0.0
    @contenido.each do |alimento|
        aux += alimento.eficiencia_energetica
    end
    @eficiencia = aux
end

#get_geiFloat

Returns gases de efecto invernadero.

Returns:

  • (Float)

    gases de efecto invernadero



41
42
43
44
45
46
47
# File 'lib/platoefi.rb', line 41

def get_gei
    aux = 0.0
    @contenido.each do |alimento|
        aux += alimento.gei
    end
    @gei = aux
end

#get_impacto_energiaFloat

Returns índice de impacto de energía.

Returns:

  • (Float)

    índice de impacto de energía



81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/platoefi.rb', line 81

def get_impacto_energia
    ip_energia = 0.0
    case
        when @vct < 670
            ip_energia = 1.0
        when @vct <= 830
            ip_energia = 2.0
        else
            ip_energia = 3.0
    end
    ip_energia
end

#get_impacto_geiFloat

Returns índice de impacto carbono.

Returns:

  • (Float)

    índice de impacto carbono



97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/platoefi.rb', line 97

def get_impacto_gei
    ip_carbono = 0.0 
    case
        when @gei < 800
            ip_carbono = 1.0
        when @gei <= 1200
            ip_carbono = 2.0
        else
            ip_carbono = 3.0
    end
    ip_carbono
end

#get_usoterrenoFloat

Returns uso del terreno.

Returns:

  • (Float)

    uso del terreno



52
53
54
55
56
57
58
# File 'lib/platoefi.rb', line 52

def get_usoterreno
    aux = 0.0
    @contenido.each do |alimento|
        aux += alimento.ground
    end
    @usoterreno = aux
end

#huella_nutricionalFloat

Returns huella nutricional.

Returns:

  • (Float)

    huella nutricional



74
75
76
# File 'lib/platoefi.rb', line 74

def huella_nutricional
    ((get_impacto_energia + get_impacto_gei)/2).ceil(2)
end

#to_sObject



32
33
34
35
36
37
# File 'lib/platoefi.rb', line 32

def to_s
    output = @nombre
    output << "\n#{'=' * @name.size}\n\n"
    output << "Alimento: #{@alimentos.join(', ')}\n\n"
    output
end