class DSLMenu
Attributes
nombre[RW]
platos[RW]
Public Class Methods
new(nombre) { |self| ... }
click to toggle source
# File lib/DSLMenu.rb, line 5 def initialize(nombre, &block) @nombre = nombre @platos = [] @menu = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end
Public Instance Methods
plato(nombre, opciones = {})
click to toggle source
# File lib/DSLMenu.rb, line 34 def plato(nombre, opciones = {}) plato = nombre plato << "\n| contiene: #{opciones[:descripcion]} " if opciones[:descripcion] plato << " | valor nutricional: #{opciones[:nutricional]}" if opciones[:nutricional] plato << " | impacto ambiental: #{opciones[:ambiental]}" if opciones[:ambiental] plato << "\n\n #{opciones[:precio]} €\n" if opciones[:precio] @platos << plato end
to_s()
click to toggle source
# File lib/DSLMenu.rb, line 19 def to_s output = "\n\n\n" + @nombre.upcase output << "\n#{'='*@nombre.size}\n\n " @menu.each do |menu| output << "#{menu}" end output << "\n\n" @platos.each_with_index do |plato, i| output << "[#{i + 1}] #{plato}\n" end output << "\n\n\n" output end