class DslDieta

Attributes

grasas[RW]

@overload Método de acceso y escritura para los atributos de instancia.

hidratos[RW]

@overload Método de acceso y escritura para los atributos de instancia.

max[RW]

@overload Método de acceso y escritura para los atributos de instancia.

min[RW]

@overload Método de acceso y escritura para los atributos de instancia.

platos[RW]

@overload Método de acceso y escritura para los atributos de instancia.

proteinas[RW]

@overload Método de acceso y escritura para los atributos de instancia.

titulo[RW]

@overload Método de acceso y escritura para los atributos de instancia.

vct[RW]

@overload Método de acceso y escritura para los atributos de instancia.

Public Class Methods

new(titulo) { |self| ... } click to toggle source

@note Método por el cual se inicializa la dieta mediante el título y un bloque @param [String] Título, [Block] Block

# File lib/prct06/dslDieta.rb, line 13
def initialize(titulo,&block)
        self.titulo=titulo
        self.platos =[]
        if block_given?
                if block.arity == 1
                        yield self
                else
                        instance_eval(&block)
                end
        end
end

Public Instance Methods

<=>(other) click to toggle source

@note Función que permite comparar dos dietas en función de sus valor calorífico. @param [Diet] Menú a comparar @return [Int] 1 if self>other, 0 if self == other, -1 if self<other

# File lib/prct06/dslDieta.rb, line 39
def <=>(other)
        self.vct<=>other.vct
end
ingesta(args = {}) click to toggle source

@note Función que permite asignar valor a los atributos max y min. @param [Hash] Parámetro min y max

# File lib/prct06/dslDieta.rb, line 44
def ingesta(args = {})
        self.max="#{args[:max]}" if args[:max]
        self.min="#{args[:min]}" if args[:min]
end
plato(args = {}) click to toggle source

@note Función que permite añadir un nuevo plato a la dieta. @param [Hash] Parámetros descripcion, porcion y gramos

# File lib/prct06/dslDieta.rb, line 50
def plato(args = {})
        input = "  -#{args[:descripcion]}" if args[:descripcion] 
        input += ", #{args[:porcion]}" if args[:porcion]
        input += ", #{args[:gramos]} gramos" if args[:gramos]
        self.platos << "#{input}"
end
porcentajes(args = {}) click to toggle source

@note Función que permite asignar valor a los parámetros: vct, proteinas, grasas y hidratos. @param [Hash] Parámetros descripcion, porcion y gramos

# File lib/prct06/dslDieta.rb, line 58
def porcentajes(args = {})
        self.vct="#{args[:vct]}" if args[:vct]
        self.proteinas="#{args[:proteinas]}" if args[:proteinas]
        self.grasas="#{args[:grasas]}" if args[:grasas]
        self.hidratos="#{args[:hidratos]}" if args[:hidratos]
end
to_s() click to toggle source

@note Función que permite mostrar una salida formateada de la lista @return [String] String con el contenido de la lista

# File lib/prct06/dslDieta.rb, line 26
def  to_s
        output = "#{titulo} (#{min}-#{max}%):\n"
        i=0
        begin
                output+="#{platos[i]}\n"
                i+=1
        end while (i<platos.length)
        output += "V.C.T. | %      #{vct} kcal | #{proteinas}% - #{grasas}% - #{hidratos}%\n"
        "#{output}"
end