Class: MenuDSL
- Inherits:
-
Object
- Object
- MenuDSL
- Defined in:
- lib/feeding/menuDSL.rb
Instance Attribute Summary collapse
-
#descripcion(d) ⇒ Object
Returns the value of attribute descripcion.
-
#nombre ⇒ Object
Returns the value of attribute nombre.
-
#platos ⇒ Object
Returns the value of attribute platos.
-
#precio ⇒ Object
Returns the value of attribute precio.
Instance Method Summary collapse
-
#initialize(nombre, &block) ⇒ MenuDSL
constructor
A new instance of MenuDSL.
- #plato(nombre, options = {}) ⇒ Object
- #to_s ⇒ Object
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 |
#nombre ⇒ Object
Returns the value of attribute nombre.
2 3 4 |
# File 'lib/feeding/menuDSL.rb', line 2 def nombre @nombre end |
#platos ⇒ Object
Returns the value of attribute platos.
2 3 4 |
# File 'lib/feeding/menuDSL.rb', line 2 def platos @platos end |
#precio ⇒ Object
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, = {}) plato = nombre plato << " (Descripción: #{[:descripcion]})" if [:descripcion] plato << " (#{[:precio]}€)\n" if [:precio] @precio += [:precio] @platos << plato end |
#to_s ⇒ Object
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 |