Class: Plato_DSL
- Inherits:
-
Object
- Object
- Plato_DSL
- Includes:
- Comparable
- Defined in:
- lib/alimentacion/plato_dsl.rb
Instance Attribute Summary collapse
-
#lista_alimentos ⇒ Object
readonly
Returns the value of attribute lista_alimentos.
-
#nombre_plato ⇒ Object
readonly
Returns the value of attribute nombre_plato.
Instance Method Summary collapse
- #<=>(anOther) ⇒ Object
- #alimento(descripcion, gramos = {}) ⇒ Object
-
#initialize(nombre_plato, &block) ⇒ Plato_DSL
constructor
A new instance of Plato_DSL.
- #nombre(n) ⇒ Object
- #to_s ⇒ Object
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_alimentos ⇒ Object (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_plato ⇒ Object (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_s ⇒ Object
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 |