Class: Plato_3

Inherits:
Plato_2 show all
Defined in:
lib/practica/plato_herencia2.rb

Instance Attribute Summary collapse

Attributes inherited from Plato_2

#eficiencia, #gei, #terreno

Attributes inherited from Plato

#calorias, #cantidad, #carbohidratos, #lipidos, #lista, #nombre, #p_carbohidratos, #p_lipidos, #p_proteinas, #proteinas

Instance Method Summary collapse

Methods inherited from Plato_2

#+, #<=>, #==, #Calc_huella_nutri, #calc_eficiencia, #calc_gei, #calc_terreno, #get_huella, huella

Methods inherited from Plato

#<=>, #==, #calc_calorias, #calc_carbohidrato, #calc_lipido, #calc_porcentajes, #calc_proteina, #calcular_equivalente, #get_this

Constructor Details

#initialize(nombre, &block) ⇒ Plato_3

Returns a new instance of Plato_3.



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/practica/plato_herencia2.rb', line 4

def initialize(nombre,&block)
    
    if block_given?
        if block.arity == 1
            yield
        else
            instance_eval(&block)
        end
    end
    super(@lista_,@cantidad_,@nombre_)
    
end

Instance Attribute Details

#cantidad_Object (readonly)

Returns the value of attribute cantidad_.



3
4
5
# File 'lib/practica/plato_herencia2.rb', line 3

def cantidad_
  @cantidad_
end

#lista_Object (readonly)

Returns the value of attribute lista_.



3
4
5
# File 'lib/practica/plato_herencia2.rb', line 3

def lista_
  @lista_
end

#nombre_Object (readonly)

Returns the value of attribute nombre_.



3
4
5
# File 'lib/practica/plato_herencia2.rb', line 3

def nombre_
  @nombre_
end

Instance Method Details

#alimento_nuevo(comida = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/practica/plato_herencia2.rb', line 21

def alimento_nuevo(comida={})
    if(@lista_==nil && @cantidad_ == nil) then
        alimento = Alimento.new(comida[:nombre],comida[:proteina],comida[:carbohidrato],comida[:lipido],comida[:gei],comida[:terreno])
        @lista_= Lista.new(alimento)
        @cantidad_ = Lista.new(comida[:gramos])
    else
        alimento = Alimento.new(comida[:nombre],comida[:proteina],comida[:carbohidrato],comida[:lipido],comida[:gei],comida[:terreno])
        @lista_.insertar_back(alimento)
        @cantidad_.insertar_back(comida[:gramos])
    end
end

#nombre_plato(cadena) ⇒ Object



17
18
19
# File 'lib/practica/plato_herencia2.rb', line 17

def nombre_plato(cadena)
    @nombre_=cadena[:cadena]
end

#to_sObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/practica/plato_herencia2.rb', line 32

def to_s

    @nombre_ = "#{@nombre_}"
    contador =0
     
    while (@lista_[contador] != nil && @cantidad_[contador] != nil) do 
        @nombre_ = @nombre_ + ",#{@lista_[contador].get_valor.nombre},#{@cantidad_[contador].get_valor}"
        contador = contador + 1
    end
    @nombre_=@nombre_ + ",#{@proteinas.round(2)},#{@carbohidratos.round(2)},#{@lipidos.round(2)},#{@gei.round(2)},#{@terreno.round(2)}"
    return @nombre_
end