Class: Menu_dsl
Instance Attribute Summary collapse
-
#ing_diaria ⇒ Object
Porcentaje de injesta diaria.
-
#platos ⇒ Object
Platos que contiene la dieta.
-
#porcentajes ⇒ Object
Calorias de la dieta.
-
#titulo ⇒ Object
Titulo de la dieta.
Instance Method Summary collapse
- #<=>(an0ther) ⇒ Object
- #ingesta(ing = {}) ⇒ Object
-
#initialize(name, &block) ⇒ Menu_dsl
constructor
A new instance of Menu_dsl.
- #plat(options = {}) ⇒ Object
- #porcent(porc = {}) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(name, &block) ⇒ Menu_dsl
Returns a new instance of Menu_dsl.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/prct06/menu_dsl.rb', line 12 def initialize(name, &block) @titulo = name @ing_diaria = [] @porcentajes = [] @platos = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end |
Instance Attribute Details
#ing_diaria ⇒ Object
Porcentaje de injesta diaria.
6 7 8 |
# File 'lib/prct06/menu_dsl.rb', line 6 def ing_diaria @ing_diaria end |
#platos ⇒ Object
Platos que contiene la dieta.
8 9 10 |
# File 'lib/prct06/menu_dsl.rb', line 8 def platos @platos end |
#porcentajes ⇒ Object
Calorias de la dieta.
10 11 12 |
# File 'lib/prct06/menu_dsl.rb', line 10 def porcentajes @porcentajes end |
#titulo ⇒ Object
Titulo de la dieta.
4 5 6 |
# File 'lib/prct06/menu_dsl.rb', line 4 def titulo @titulo end |
Instance Method Details
#<=>(an0ther) ⇒ Object
68 69 70 |
# File 'lib/prct06/menu_dsl.rb', line 68 def <=>(an0ther) self.porcentajes[0] <=> an0ther.porcentajes[0] end |
#ingesta(ing = {}) ⇒ Object
42 43 44 45 46 47 |
# File 'lib/prct06/menu_dsl.rb', line 42 def ingesta(ing = {}) i = [] i << "#{ing[:min]}" if ing[:min] i << "#{ing[:max]}" if ing[:max] @ing_diaria = i end |
#plat(options = {}) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/prct06/menu_dsl.rb', line 59 def plat( = {}) pl = [] pl << "#{[:descripcion]}" if [:descripcion] pl << "#{[:porcion]}" if [:porcion] pl << "#{[:gramos]}" if [:gramos] @platos << pl end |
#porcent(porc = {}) ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/prct06/menu_dsl.rb', line 49 def porcent(porc = {}) p = [] p << "#{porc[:vct]}" if porc[:vct] p << "#{porc[:proteinas]}" if porc[:proteinas] p << "#{porc[:grasas]}" if porc[:grasas] p << "#{porc[:hidratos]}" if porc[:hidratos] @porcentajes = p end |
#to_s ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/prct06/menu_dsl.rb', line 28 def to_s output = @titulo output << "\n#{'=' * @titulo.size}\n" output << "\nMin: #{@ing_diaria[0]}\n" output << "Max: #{@ing_diaria[1]}\n\n" @platos.each_with_index do |plato, index| output << "#{index + 1}) #{plato[0]}. PorciĆ³n: #{plato[1]}. Cantidad: #{plato[2]}\n" end output << "V.C.T. | %\t#{@porcentajes[0]} kcal | #{@porcentajes[1]}% - #{@porcentajes[2]}% - #{@porcentajes[3]}%\n\n" output end |