class MenuDSL

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/menu/menucode.rb, line 154
def initialize(&bloque)
    @titulo
    @porcentaje
    @platos = []
    @vct
    @proteinas
    @grasas
    @hidratos
    @grupo
    @edades
    
    if block_given?  
        if bloque.arity == 1
            yield self
        else
            instance_eval(&bloque) 
        end
    end
end

Public Instance Methods

getConjuntoPlatos() click to toggle source
  • Devuelve un string en formato lista con los platos del Menú.

# File lib/menu/menucode.rb, line 252
def getConjuntoPlatos
    t = ""
    @platos.each{|x| t = t + x.to_s + "\n"}
    t
end
getDescripcion(x) click to toggle source
  • Devuelve la descripción de un plato del Menú.

# File lib/menu/menucode.rb, line 247
def getDescripcion (x)
    @platos[x].descripcion
end
getEdades() click to toggle source
  • Devuelve el Grupo de edad al que pertenece el Menú.

# File lib/menu/menucode.rb, line 264
def getEdades
   @edades 
end
getGrasas() click to toggle source
  • Devuelve el porcentaje de grasas del Menú.

# File lib/menu/menucode.rb, line 237
def getGrasas
    @grasas 
end
getGrupo() click to toggle source
  • Devuelve el Grupo de alimentos al que pertenece el Menú.

# File lib/menu/menucode.rb, line 259
def getGrupo
    @grupo 
end
getHidratos() click to toggle source
  • Devuelve el porcentaje de hidratos de carbono del Menú.

# File lib/menu/menucode.rb, line 242
def getHidratos
    @hidratos 
end
getIngesta() click to toggle source
  • Devuelve el porcentaje de ls Ingesta Diaria recomendada.

# File lib/menu/menucode.rb, line 223
def getIngesta
    @porcentaje 
end
getPlato(index) click to toggle source
METODOS GET ###################################################################################################################################
  • Devuelve el plato del índice indicado en el parámetro.

# File lib/menu/menucode.rb, line 213
def getPlato(index)
    @platos[index].to_s
end
getProteinas() click to toggle source
  • Devuelve el porcentaje de proteínas del Menú.

# File lib/menu/menucode.rb, line 232
def getProteinas
    @proteinas 
end
getTitulo() click to toggle source
  • Devuelve el título del Menú.

# File lib/menu/menucode.rb, line 218
def getTitulo
    @titulo
end
getVct() click to toggle source
  • Devuelve el Valor calórico total del Menú.

# File lib/menu/menucode.rb, line 227
def getVct
    @vct 
end
ingesta(options = {}) click to toggle source
# File lib/menu/menucode.rb, line 180
def ingesta (options = {})
    porcentaje = []
    porcentaje << "#{options[:min]}" if options[:min]
    porcentaje << "#{options[:max]}" if options[:max]
    @porcentaje = porcentaje
end
plato(options = {}) click to toggle source
# File lib/menu/menucode.rb, line 187
def plato (options = {})
    plato = []
    plato << "#{options[:descripcion]}" if options[:descripcion]
    plato << "#{options[:porcion]}" if options[:porcion]
    plato << "#{options[:gramos]}" if options[:gramos]
    @platos.push(Plato.new(plato))
end
porcentajes(options = {}) click to toggle source
# File lib/menu/menucode.rb, line 195
def porcentajes (options = {})
    @vct = "#{options[:vct]}" if options[:vct]
    @proteinas = "#{options[:proteinas]}" if options[:proteinas]
    @grasas = "#{options[:grasas]}" if options[:grasas]
    @hidratos = "#{options[:hidratos]}" if options[:hidratos]
end
titulo(name, options = {}) click to toggle source
# File lib/menu/menucode.rb, line 174
def titulo (name, options = {})
    @titulo = name
    @grupo = "#{options[:grupo]}" if options[:grupo]
    @edades = "#{options[:edad]}" if options[:edad]
end
to_s() click to toggle source
# File lib/menu/menucode.rb, line 204
def to_s
   
    porcentaje = corregir_porcentaje
    
    @titulo + " (#{porcentaje}%)\n" + getConjuntoPlatos + "V.C.T. | % #{getVct} kcal | #{getProteinas}% - #{getGrasas}% - #{getHidratos}%\n Grupo de alimentos: #{getGrupo}\n Grupo de edad: #{getEdades}\n"
end

Private Instance Methods

corregir_porcentaje() click to toggle source
# File lib/menu/menucode.rb, line 270
def corregir_porcentaje
    t = ""
    @porcentaje.each{|x| t = t + " - " + x.to_s}
    final = t[3,t.length]
    final
end