Sha256: cd5f1491d9ab0f0700271524d8998f1c85c6947cd99ec7fd7ef90b68ae2746b3
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
class DietaDSL < Diet attr_accessor :titulos, :ingestas, :platos, :porcentajes, :salida def initialize(name,&block) self.titulos=[] self.ingestas=[] self.platos=[] self.porcentajes=[] if block_given? if block.arity ==1 yield self else instance_eval(&block) end end end def titulo(name) titulos << name end def ingesta(opciones ={}) ingestas << "#{opciones[:min]}" if opciones[:min] ingestas << "#{opciones[:max]}" if opciones[:max] end def plato(opciones= {}) platos << "#{opciones[:descripcion]}" if opciones[:descripcion] platos << "#{opciones[:porcion]}" if opciones[:porcion] platos << "#{opciones[:gramos]}" if opciones[:gramos] end def porcentaje(opciones={}) porcentajes << "#{opciones[:vct]}" if opciones[:vct] porcentajes << "#{opciones[:proteinas]}" if opciones[:proteinas] porcentajes << "#{opciones[:grasas]}" if opciones[:grasas] porcentajes << "#{opciones[:hidratos]}" if opciones[:hidratos] end def to_s salida = titulos salida << "(#{ingestas[0]}% - #{ingestas[1]}%)" platos.each_with_index do |plato| salida << "#{plato}" end salida << "V.C.T. | % #{porcentajes[0]} Kcal | #{porcentajes[1]}% - #{porcentajes[2]}% - #{porcentajes[3]}%" salida end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dieta-alu0100818819-0.1.4 | lib/dieta/dieta_dsl.rb |