Class: Plato

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/plato.rb

Direct Known Subclasses

Platoefi

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arraycontent, nombre) ⇒ Plato

Returns a new instance of Plato.

Parameters:

  • arraycontent (Array)

    array con los alimentos del plato

  • nombre (String)

    nombre del plato



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/plato.rb', line 22

def initialize(arraycontent, nombre)
    @contenido = Lista.new()
    @nombre = nombre
    @proteinas = 0.0
    @carbohidratos = 0.0
    @lipidos = 0.0
    @cantidadtotal = 0.0
    @vct = 0.0
    arraycontent.each do | alimento |
        @contenido.insert_one(alimento)
        @proteinas += alimento.proteins
        @carbohidratos += alimento.carbohydrates
        @lipidos += alimento.lipids
        @cantidadtotal += alimento.amount
        @vct += alimento.get_kcal
    end
end

Instance Attribute Details

#carbohidratosObject

Devuelve el valor del atributo



16
17
18
# File 'lib/plato.rb', line 16

def carbohidratos
  @carbohidratos
end

#contenidoObject

Devuelve el valor del atributo



16
17
18
# File 'lib/plato.rb', line 16

def contenido
  @contenido
end

#lipidosObject

Devuelve el valor del atributo



16
17
18
# File 'lib/plato.rb', line 16

def lipidos
  @lipidos
end

#nombreObject

Devuelve el valor del atributo



16
17
18
# File 'lib/plato.rb', line 16

def nombre
  @nombre
end

#proteinasObject

Devuelve el valor del atributo



16
17
18
# File 'lib/plato.rb', line 16

def proteinas
  @proteinas
end

#vctObject

Devuelve el valor del atributo



16
17
18
# File 'lib/plato.rb', line 16

def vct
  @vct
end

Instance Method Details

#<=>(other) ⇒ Boolean

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

Parameters:

  • other (Plato)

    tipo del parámetro

Returns:

  • (Boolean)

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



10
11
12
# File 'lib/plato.rb', line 10

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

#get_carbohidratosFloat

Returns cantidad de carbohidratos.

Returns:

  • (Float)

    cantidad de carbohidratos



51
52
53
54
# File 'lib/plato.rb', line 51

def get_carbohidratos
    porcentaje = (@carbohidratos * 100)/@cantidadtotal
    porcentaje.ceil(2)
end

#get_lipidosFloat

Returns cantidad de lípidos.

Returns:

  • (Float)

    cantidad de lípidos



59
60
61
62
# File 'lib/plato.rb', line 59

def get_lipidos
    porcentaje = (@lipidos * 100)/@cantidadtotal
    porcentaje.ceil(2)
end

#get_proteinasFloat

Returns cantidad de proteínas.

Returns:

  • (Float)

    cantidad de proteínas



43
44
45
46
# File 'lib/plato.rb', line 43

def get_proteinas
    porcentaje = (@proteinas * 100)/@cantidadtotal
    porcentaje.ceil(2)
end

#to_sString

Returns plato formateado.

Returns:

  • (String)

    plato formateado



67
68
69
70
71
72
73
# File 'lib/plato.rb', line 67

def to_s
    aux = "#{@nombre}: "
    @contenido.each do |alimento|
        aux.concat("#{alimento.name} #{alimento.amount}g ")
    end
    aux.concat(".")
end