Class: Menu

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

Overview

Clase Menú que almacena los platos y valores nutricionales

Author:

  • alu0100880625

Direct Known Subclasses

Menu_edad, Menu_grupo

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encabezado, platos, valores) ⇒ Object

Método que instancia un objeto de la clase

Parameters:

  • encabezado (Array)

    Array de Strings que almacena el título y el porcentaje de ingesta diaria

  • platos (Array)

    Array bidimensional de Strings que almacena los ingredientes y cantidades, la forma de cocinar y las unidades

  • valores (Array)

    Array que contiene los valores nutricionales y porcentaes



14
15
16
# File 'lib/dieta/menu.rb', line 14

def initialize(encabezado, platos, valores)
    @encabezado, @platos, @valores = encabezado, platos, valores
end

Instance Attribute Details

#encabezadoArray (readonly)

Array de Strings que almacena el título y el porcentaje de ingesta diaria

Returns:

  • (Array)

    the current value of encabezado



6
7
8
# File 'lib/dieta/menu.rb', line 6

def encabezado
  @encabezado
end

#platosArray (readonly)

Array bidimensional de Strings que almacena los ingredientes y cantidades, la forma de cocinar y las unidades

Returns:

  • (Array)

    the current value of platos



6
7
8
# File 'lib/dieta/menu.rb', line 6

def platos
  @platos
end

#valoresArray (readonly)

Array que contiene los valores nutricionales y porcentajes

Returns:

  • (Array)

    the current value of valores



6
7
8
# File 'lib/dieta/menu.rb', line 6

def valores
  @valores
end

Instance Method Details

#<=>(other) ⇒ Bool

Método comparativo necesario para el módulo Comparable

Returns:

  • (Bool)

    resultado de la comparación de los valores nutricionales



66
67
68
# File 'lib/dieta/menu.rb', line 66

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

#get_grasasDouble

Método que retorna el cantidad de grasas del menú

Returns:

  • (Double)

    número de grasas



45
46
47
# File 'lib/dieta/menu.rb', line 45

def get_grasas
    @valores[2]
end

#get_hidratosDouble

Método que retorna el cantidad de hidratos del menú

Returns:

  • (Double)

    número de hidratos



50
51
52
# File 'lib/dieta/menu.rb', line 50

def get_hidratos
    @valores[3]
end

#get_ingestaString

Método que retorna el porcentaje de ingesta diaria

Returns:

  • (String)

    porcentaje de ingesta



30
31
32
# File 'lib/dieta/menu.rb', line 30

def get_ingesta
    @encabezado[1]
end

#get_plato(i) ⇒ Array

Método que retorna el i-ésimo platos

Parameters:

  • i (Int)

    plato que queremos consultar

Returns:

  • (Array)

    array bidimensional con la información del plato



20
21
22
# File 'lib/dieta/menu.rb', line 20

def get_plato(i)
    @platos[i-1]
end

#get_proteinasDouble

Método que retorna el cantidad de proteinas del menú

Returns:

  • (Double)

    número de proteinas



40
41
42
# File 'lib/dieta/menu.rb', line 40

def get_proteinas
@valores[1]
end

#get_tituloString

Método que retorna el título

Returns:

  • (String)

    título del menú



25
26
27
# File 'lib/dieta/menu.rb', line 25

def get_titulo
    @encabezado[0]
end

#get_vctDouble

Método que retorna el número de kCal del menú

Returns:

  • (Double)

    número de kCAl



35
36
37
# File 'lib/dieta/menu.rb', line 35

def get_vct
    @valores[0]
end

#to_sString

Método que formatea el menú para mostrarlo

Returns:

  • (String)

    cadena que contiene el menú formateado



55
56
57
58
59
60
61
62
63
# File 'lib/dieta/menu.rb', line 55

def to_s
    aux=get_titulo+" ("+get_ingesta+")\n"
    i=0
    while i<platos.length
        aux+="- #{@platos[i][0]}, #{@platos[i][1]}, #{@platos[i][2]}\n"
        i+=1
    end
    aux+="V.C.T | %\t#{get_vct} kcal | #{get_proteinas}% - #{get_grasas}% - #{get_hidratos}%\n"
end