class Menu_DSL

Attributes

dia[RW]
gras[RW]
hidr[RW]
plat[RW]
porc[RW]
prot[RW]
titu[RW]
vct[RW]

Public Class Methods

new(dia) { |self| ... } click to toggle source
# File lib/menu/codigo_menu_dsl.rb, line 4
def initialize(dia, &block)
        self.dia = dia
        self.titu = ""
        self.porc = []
        self.plat = []
        self.vct = nil
        self.prot = nil
        self.gras = nil
        self.hidr = nil

        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/menu/codigo_menu_dsl.rb, line 47
def ingesta (options = {})
        porcentaje = []
        porcentaje << options[:min] if options[:min]
        porcentaje << options[:max] if options[:max]

        porc << porcentaje
end
plato(options = {}) click to toggle source
# File lib/menu/codigo_menu_dsl.rb, line 55
def plato (options = {})
        platos = []
        platos << options[:descripcion] if options[:descripcion]
        platos << options[:porcion] if options[:porcion]
        platos << options[:gramos] if options[:gramos]

        plat << platos
end
porcentajes(options = {}) click to toggle source
# File lib/menu/codigo_menu_dsl.rb, line 64
def porcentajes (options = {})
        @vct = options[:kcals] if options[:kcals]
        @prot = options[:proteinas] if options[:proteinas]
        @gras = options[:grasas] if options[:grasas]
        @hidr = options[:hidratos] if options[:hidratos]
end
titulo(titul) click to toggle source
# File lib/menu/codigo_menu_dsl.rb, line 43
def titulo (titul)
        titu << titul
end
to_s() click to toggle source
# File lib/menu/codigo_menu_dsl.rb, line 23
def to_s
        output = "\n#{dia}"
        output << "\n#{'=' * dia.size}\n\n"
        output << "#{titu} | (#{porc.join(' - ')})%\n"
        plat.each_with_index do |platos|
                output << "- "
                platos.each_with_index do |plato, index|
                        output << "#{plato}"
                        if index+1 != platos.size
                                output << ", "
                        end
                end
                output << "\n"
        end
        output << "V.C.T | %\t#{vct} kcal | "
        output << "#{prot}% - #{gras}% - #{hidr}%"

        output
end