Class: Plato_DSL

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/alimentacion/plato_dsl.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre_plato, &block) ⇒ Plato_DSL

Returns a new instance of Plato_DSL.



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/alimentacion/plato_dsl.rb', line 9

def initialize(nombre_plato, &block)
        #@nombre_plato = nombre_plato
        @lista_alimentos = []

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

Instance Attribute Details

#lista_alimentosObject (readonly)

Returns the value of attribute lista_alimentos.



3
4
5
# File 'lib/alimentacion/plato_dsl.rb', line 3

def lista_alimentos
  @lista_alimentos
end

#nombre_platoObject (readonly)

Returns the value of attribute nombre_plato.



3
4
5
# File 'lib/alimentacion/plato_dsl.rb', line 3

def nombre_plato
  @nombre_plato
end

Instance Method Details

#<=>(anOther) ⇒ Object



5
6
7
# File 'lib/alimentacion/plato_dsl.rb', line 5

def <=>(anOther)
        self.porcentaje_proteinas <=> anOther.porcentaje_proteinas
end

#alimento(descripcion, gramos = {}) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/alimentacion/plato_dsl.rb', line 26

def alimento(descripcion, gramos = {})
	alimento = "\n - " + descripcion
	alimento << "\n     Información nutricional:"
	alimento << " || Cantidad: #{gramos[:Gramos]} gramos ||" if gramos[:Gramos]
	alimento << " Proteínas: #{gramos[:Proteinas]} gramos ||" if gramos[:Proteinas]
	alimento << " Hidratos: #{gramos[:Hidratos]} gramos ||" if gramos[:Hidratos]
	alimento << " Lípidos: #{gramos[:Lipidos]} gramos" if gramos[:Lipidos]
	alimento << "\n     Información ambiental:"
	alimento << " Gases anuales: #{gramos[:Gases]} kilogramos ||" if gramos[:Gases]
	alimento << " Uso del terreno: #{gramos[:Terreno]} metros cuadrados" if gramos[:Gases]
	@lista_alimentos << alimento
end

#nombre(n) ⇒ Object



22
23
24
# File 'lib/alimentacion/plato_dsl.rb', line 22

def nombre (n)
	@nombre_plato = n
end

#to_sObject



39
40
41
42
43
# File 'lib/alimentacion/plato_dsl.rb', line 39

def to_s
	output = @nombre_plato
	output << "\n#{'=' * @nombre_plato.size}\n\n"
	output << "Alimentos: \n #{@lista_alimentos.join(' ')}\n\n"
end