Sha256: aa921e6d2644d30f49d8a6832714cba4763c23977cac6d29bb5d5d44bdd56507

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

module Alimento

	class MenuDSL
	
		attr_reader :nombre, :descripcion_menu, :componentes_menu, :precios, :precio_total

		def initialize(nombre, &block)
			@nombre = nombre
			@componentes_menu = []
			@precios = []
			@descripcion_menu = ""
			@precio_total
		
			if block_given?
				if block.arity == 1
					yield self
				else
					instance_eval(&block)
				end
			end
		end
		
		
		def descripcion(descr)
			@descripcion_menu = descr
		end


		def componente(options = {})
			@componentes_menu << options[:platito] if options[:platito]
			@precios << options[:precio] if options[:precio]
		end

		
		def precio(coste)
			@precio_total = coste
		end


		def to_s
    
			output = "Nombre de menu: #{@nombre}"
			output += "\nPlatos:"
			@componentes_menu.each {|iter| 
				if iter.platito == nil
					iter.platillo()
				end
				
				output += "\n\n\tTipo: #{iter.platito.nombre}" 
    		output += "\n\tValor Nutricional: #{iter.platito.VCT()}"
				output += "\n\tValor Ambiental: #{iter.platito.emisiones_total()}"
			}
		output += "\n\nPrecio menĂº: #{@precio_total}"
    output
  	end
	
	end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alimento_alu0101050218-0.1.0 lib/alimento/menuDSL.rb