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