class Menu_dsl

Attributes

ing_diaria[RW]

Porcentaje de injesta diaria.

platos[RW]

Platos que contiene la dieta.

porcentajes[RW]

Calorias de la dieta.

titulo[RW]

Titulo de la dieta.

Public Class Methods

new(name) { |self| ... } click to toggle source
# File lib/prct06/menu_dsl.rb, line 12
def initialize(name, &block)
  @titulo = name
  @ing_diaria = []
  @porcentajes = []
  @platos = []

  if block_given?  
    if block.arity == 1
      yield self
    else
     instance_eval(&block) 
    end
  end
end

Public Instance Methods

<=>(an0ther) click to toggle source
# File lib/prct06/menu_dsl.rb, line 68
def <=>(an0ther)
  self.porcentajes[0] <=> an0ther.porcentajes[0]
end
ingesta(ing = {}) click to toggle source
# File lib/prct06/menu_dsl.rb, line 42
def ingesta(ing = {})
  i = []
  i << "#{ing[:min]}" if ing[:min]
  i << "#{ing[:max]}" if ing[:max]
  @ing_diaria = i
end
plat(options = {}) click to toggle source
# File lib/prct06/menu_dsl.rb, line 59
def plat(options = {})
  pl = []
  pl << "#{options[:descripcion]}" if options[:descripcion]
  pl << "#{options[:porcion]}" if options[:porcion]
  pl << "#{options[:gramos]}" if options[:gramos]

  @platos << pl 
end
porcent(porc = {}) click to toggle source
# File lib/prct06/menu_dsl.rb, line 49
def porcent(porc = {})
  p = []
  p << "#{porc[:vct]}" if porc[:vct]
  p << "#{porc[:proteinas]}" if porc[:proteinas]
  p << "#{porc[:grasas]}" if porc[:grasas]
  p << "#{porc[:hidratos]}" if porc[:hidratos] 

 @porcentajes = p
end
to_s() click to toggle source
# File lib/prct06/menu_dsl.rb, line 28
def to_s
    output = @titulo
    output << "\n#{'=' * @titulo.size}\n"
    output << "\nMin: #{@ing_diaria[0]}\n"
    output << "Max: #{@ing_diaria[1]}\n\n"

    @platos.each_with_index do |plato, index|
      output << "#{index + 1}) #{plato[0]}. Porción: #{plato[1]}. Cantidad: #{plato[2]}\n"
    end
    
    output << "V.C.T. | %\t#{@porcentajes[0]} kcal | #{@porcentajes[1]}% - #{@porcentajes[2]}% - #{@porcentajes[3]}%\n\n"
    output
  end