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