Class: MenuDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/feeding/menuDSL.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, &block) ⇒ MenuDSL

Returns a new instance of MenuDSL.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/feeding/menuDSL.rb', line 3

def initialize(nombre, &block)
	@nombre = nombre
	@descripcion = ""
	@platos = []
	@precio = 0

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

Instance Attribute Details

#descripcion(d) ⇒ Object

Returns the value of attribute descripcion.



2
3
4
# File 'lib/feeding/menuDSL.rb', line 2

def descripcion
  @descripcion
end

#nombreObject

Returns the value of attribute nombre.



2
3
4
# File 'lib/feeding/menuDSL.rb', line 2

def nombre
  @nombre
end

#platosObject

Returns the value of attribute platos.



2
3
4
# File 'lib/feeding/menuDSL.rb', line 2

def platos
  @platos
end

#precioObject

Returns the value of attribute precio.



2
3
4
# File 'lib/feeding/menuDSL.rb', line 2

def precio
  @precio
end

Instance Method Details

#plato(nombre, options = {}) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/feeding/menuDSL.rb', line 18

def plato(nombre, options = {})
	plato = nombre
               plato << " (Descripción: #{options[:descripcion]})" if options[:descripcion]
               plato << " (#{options[:precio]}€)\n" if options[:precio]
               @precio += options[:precio]
	@platos << plato
end

#to_sObject



30
31
32
33
34
35
36
# File 'lib/feeding/menuDSL.rb', line 30

def to_s
	salida = @nombre
               salida << "\n#{'=' * @nombre.size}\n"
	salida << "Descripción: #{@descripcion}\n\n"
               salida << "Platos: - #{@platos.join('- ')}\n"
	salida << "Precio total: #{@precio}€\n\n"
end