class Menu_dsl

Attributes

etiqueta[RW]
ingestaIn[RW]
platosIn[RW]
porcentajeIn[RW]
titulo[RW]

Public Class Methods

new(etiqueta) { |self| ... } click to toggle source
# File lib/prct08/menu_dsl.rb, line 4
def initialize(etiqueta, &block)
    self.etiqueta = etiqueta
    self.titulo = ""
    self.ingestaIn = []
    self.platosIn = []
    self.porcentajeIn = []
    
    if block_given?
        if block.arity == 1
            yield self
        else
            instance_eval(&block)
        end
    end
end

Public Instance Methods

ingesta(options = {}) click to toggle source
# File lib/prct08/menu_dsl.rb, line 24
def ingesta(options = {})
    ingestaIn << "#{options[:min]}" if options[:min]
    ingestaIn << "#{options[:max]}" if options[:max]
end
platos(options = {}) click to toggle source
# File lib/prct08/menu_dsl.rb, line 29
def platos(options = {})
    plato = []
    plato << "#{options[:descripcion]}" if options[:descripcion]
    plato << "#{options[:porcion]}" if options[:porcion]
    plato << "#{options[:gramos]}" if options[:gramos]
    platosIn << plato
end
porcentajes(options = {}) click to toggle source
# File lib/prct08/menu_dsl.rb, line 37
def porcentajes(options = {})
    porcentaje = []
    porcentaje << "#{options[:vct]}" if options[:vct]
    porcentaje << "#{options[:proteinas]}" if options[:proteinas]
    porcentaje << "#{options[:grasas]}" if options[:grasas]
    porcentaje << "#{options[:hidratos]}" if options[:hidratos]
    porcentajeIn << porcentaje
end
titulos(options = {}) click to toggle source
# File lib/prct08/menu_dsl.rb, line 20
def titulos(options = {})
    titulo << "#{options[:titulo]}"
end
to_s() click to toggle source
# File lib/prct08/menu_dsl.rb, line 46
def to_s
    out = "#{titulo}"
    out << "\nMinima: #{ingestaIn[0]} % - Maximo: #{ingestaIn[1]} %"
    platosIn.each_with_index do |plato, index|
        out << "\n\tDescripcion: #{plato[0]} \n\tPorcion: #{plato[1]} \n\tGramos: #{plato[2]}\n"
    end
    porcentajeIn.each_with_index do |porcentaje, index| 
        out << "\n\tV.C.T: #{porcentaje[0]} \n\tProteinas: #{porcentaje[1]} \n\tGrasas: #{porcentaje[2]} \n\tHidratos:#{porcentaje[3]} \n"
    end
    out
end