Class: Menu
- Inherits:
-
ListaDobleEnlazada
- Object
- ListaDobleEnlazada
- Menu
- Defined in:
- lib/Menu.rb
Instance Attribute Summary collapse
-
#descripcion(desc) ⇒ Object
readonly
Returns the value of attribute descripcion.
-
#nombre ⇒ Object
readonly
Returns the value of attribute nombre.
-
#precio(precio) ⇒ Object
Returns the value of attribute precio.
Attributes inherited from ListaDobleEnlazada
Instance Method Summary collapse
-
#componente(options = {}) ⇒ Object
Función de llamada para DSL Formato: { :descripcion => <“Descripcion del plato”>, :precio => <“Precio total del plato”> :alimento => [ { :descripcion => <“Nombre alimento”>, :proteinas => X, :carbohidratos => Y, :lipidos => Z, :gei => A, :terreno => B, :gramos => C} { :descripcion => <“Nombre alimento”>, :proteinas => X, :carbohidratos => Y, :lipidos => Z, :gei => A, :terreno => B, :gramos => C } . . . ] }.
-
#initialize(nombre, &block) ⇒ Menu
constructor
A new instance of Menu.
- #to_s ⇒ Object
Methods inherited from ListaDobleEnlazada
#[], #each, #extract_head, #extract_tail, #extracted, #insert, #insertList, #inserted
Constructor Details
#initialize(nombre, &block) ⇒ Menu
Returns a new instance of Menu.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/Menu.rb', line 8 def initialize(nombre, &block) @nombre = nombre @descripcion = "" @precio = 0.0 super() if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end |
Instance Attribute Details
#descripcion(desc) ⇒ Object (readonly)
Returns the value of attribute descripcion.
6 7 8 |
# File 'lib/Menu.rb', line 6 def descripcion @descripcion end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre.
6 7 8 |
# File 'lib/Menu.rb', line 6 def nombre @nombre end |
#precio(precio) ⇒ Object
Returns the value of attribute precio.
5 6 7 |
# File 'lib/Menu.rb', line 5 def precio @precio end |
Instance Method Details
#componente(options = {}) ⇒ Object
Función de llamada para DSL Formato: { :descripcion => <“Descripcion del plato”>, :precio => <“Precio total del plato”> :alimento => [ { :descripcion => <“Nombre alimento”>, :proteinas => X, :carbohidratos => Y, :lipidos => Z, :gei => A, :terreno => B, :gramos => C} { :descripcion => <“Nombre alimento”>, :proteinas => X, :carbohidratos => Y, :lipidos => Z, :gei => A, :terreno => B, :gramos => C } . . . ] }
37 38 39 40 41 42 43 |
# File 'lib/Menu.rb', line 37 def componente( = {} ) descripcion = [:descripcion] plato = Plato.new( descripcion ) plato.precio = [:precio] ? [:precio] : 0 [:alimento].each{ |alimento| plato.alimento(alimento) } if [:alimento] self.insert(plato) end |
#to_s ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/Menu.rb', line 53 def to_s result = "Menu '#{nombre} -> " self.each{|plato| result += "#{plato}(#{plato.precio} €)\n, " } result = result[0...-2] result += ". Precio total = #{@precio} €" return result end |