Sha256: 715aa663b28a13adabac0e860beec3900376ff3fb5ca57e21eae76a27ad06be2

Contents?: true

Size: 897 Bytes

Versions: 1

Compression:

Stored size: 897 Bytes

Contents

class Menu_DSL
attr_reader :nombre_menu, :lista_platos, :precio_menu

	def initialize (nombre_menu, &block)
		#@nombre_menu = nombre_menu
		@lista_platos = []
		@precio_menu = 0

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

	def descripcion(n)
		@nombre_menu = n
	end

	def componente(descripcion, precio = {})
		componente = "\n - " + descripcion
		componente << " || Precio: #{precio[:Precio]} € " if precio[:Precio]
		@precio_menu += precio[:Precio]
		@lista_platos << componente
	end

	def to_s
		output = @nombre_menu
		output << "\n#{'=' * @nombre_menu.size}\n\n"
                output << "Platos: \n #{@lista_platos.join(' ')}\n\n"
		output << "Precio total: #{@precio_menu} €"
	end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
alimentacion-0.1.0 lib/alimentacion/menu_dsl.rb