Class: Menudsl

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, &block) ⇒ Menudsl

Returns a new instance of Menudsl.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/menudsl.rb', line 6

def initialize(nombre, &block)
    @nombre = nombre
    @desc = ""
    @platos = []
    @precios = []

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

Instance Attribute Details

#descObject

Returns the value of attribute desc.



4
5
6
# File 'lib/menudsl.rb', line 4

def desc
  @desc
end

#nombreObject

Returns the value of attribute nombre.



4
5
6
# File 'lib/menudsl.rb', line 4

def nombre
  @nombre
end

#platosObject

Returns the value of attribute platos.



4
5
6
# File 'lib/menudsl.rb', line 4

def platos
  @platos
end

#preciosObject

Returns the value of attribute precios.



4
5
6
# File 'lib/menudsl.rb', line 4

def precios
  @precios
end

Instance Method Details

#descripcion(nombre) ⇒ Object



21
22
23
# File 'lib/menudsl.rb', line 21

def descripcion(nombre)
     @desc = nombre
end

#plato(plate) ⇒ Object



25
26
27
# File 'lib/menudsl.rb', line 25

def plato(plate)
    @platos << plate
end

#precio(price) ⇒ Object



29
30
31
# File 'lib/menudsl.rb', line 29

def precio(price)
    @precios << price
end

#to_sObject



33
34
35
36
37
38
39
40
41
42
# File 'lib/menudsl.rb', line 33

def to_s
    output = "\n\n#{@nombre}"
    output << "\n#{'=' * @nombre.size}\n\n"
    output << "#{@desc}\n\n"
    output << "Platos: \n"
    @platos.each_with_index do |plato, index| 
        output << "#{plato}Precio: #{@precios.at(index)} €\n\n"
    end
    output
end