Class: Einutricional::MenuDietetico
- Inherits:
-
Object
- Object
- Einutricional::MenuDietetico
- Includes:
- Comparable
- Defined in:
- lib/einutricional/menu_dietetico.rb
Instance Attribute Summary collapse
-
#alimentos ⇒ Object
Returns the value of attribute alimentos.
-
#alm ⇒ Object
Returns the value of attribute alm.
-
#cen ⇒ Object
Returns the value of attribute cen.
-
#des ⇒ Object
Returns the value of attribute des.
-
#dia_semana ⇒ Object
Returns the value of attribute dia_semana.
-
#ingesta_max ⇒ Object
Returns the value of attribute ingesta_max.
-
#ingesta_min ⇒ Object
Returns the value of attribute ingesta_min.
-
#tit ⇒ Object
Returns the value of attribute tit.
Instance Method Summary collapse
- #<=>(other) ⇒ Object
- #almuerzo(alm) ⇒ Object
- #cena(cen) ⇒ Object
- #desayuno(des) ⇒ Object
- #ingesta(datos) ⇒ Object
-
#initialize(dia_semana, &block) ⇒ MenuDietetico
constructor
A new instance of MenuDietetico.
- #titulo(t) ⇒ Object
- #to_s ⇒ Object
- #valor_energetico(hash) ⇒ Object
Constructor Details
#initialize(dia_semana, &block) ⇒ MenuDietetico
Returns a new instance of MenuDietetico.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/einutricional/menu_dietetico.rb', line 6 def initialize(dia_semana, &block) @dia_semana = dia_semana @des = Array.new @alm = Array.new @cen = Array.new if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end |
Instance Attribute Details
#alimentos ⇒ Object
Returns the value of attribute alimentos.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def alimentos @alimentos end |
#alm ⇒ Object
Returns the value of attribute alm.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def alm @alm end |
#cen ⇒ Object
Returns the value of attribute cen.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def cen @cen end |
#des ⇒ Object
Returns the value of attribute des.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def des @des end |
#dia_semana ⇒ Object
Returns the value of attribute dia_semana.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def dia_semana @dia_semana end |
#ingesta_max ⇒ Object
Returns the value of attribute ingesta_max.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def ingesta_max @ingesta_max end |
#ingesta_min ⇒ Object
Returns the value of attribute ingesta_min.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def ingesta_min @ingesta_min end |
#tit ⇒ Object
Returns the value of attribute tit.
4 5 6 |
# File 'lib/einutricional/menu_dietetico.rb', line 4 def tit @tit end |
Instance Method Details
#<=>(other) ⇒ Object
56 57 58 |
# File 'lib/einutricional/menu_dietetico.rb', line 56 def <=>(other) <=> other. end |
#almuerzo(alm) ⇒ Object
34 35 36 37 |
# File 'lib/einutricional/menu_dietetico.rb', line 34 def almuerzo(alm) alm[:ve] = valor_energetico(alm) @alm << alm end |
#cena(cen) ⇒ Object
39 40 41 42 |
# File 'lib/einutricional/menu_dietetico.rb', line 39 def cena(cen) cen[:ve] = valor_energetico(cen) @cen << cen end |
#desayuno(des) ⇒ Object
29 30 31 32 |
# File 'lib/einutricional/menu_dietetico.rb', line 29 def desayuno(des) des[:ve] = valor_energetico(des) @des << des end |
#ingesta(datos) ⇒ Object
24 25 26 27 |
# File 'lib/einutricional/menu_dietetico.rb', line 24 def ingesta(datos) @ingesta_min = datos[:min] @ingesta_max = datos[:max] end |
#titulo(t) ⇒ Object
20 21 22 |
# File 'lib/einutricional/menu_dietetico.rb', line 20 def titulo(t) @tit = t end |
#to_s ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/einutricional/menu_dietetico.rb', line 60 def to_s # Barra superior de información print @tit.upcase.ljust(55), "COMPOSICIÓN NUTRICIONAL\n" print ' ' * 35, 'Grasas'.ljust(9), 'Hidratos'.ljust(11), 'Proteínas'.ljust(12), 'Fibra'.ljust(8), 'Sal'.ljust(6), 'Valor energético', "\n" puts '=' * 97 ve = 0 # Datos [@des, @alm, @cen].each do |momento_del_dia| unless momento_del_dia.empty? if momento_del_dia == @des puts '>> DESAYUNO' elsif momento_del_dia == @alm puts '>> ALMUERZO' else puts '>> CENA' end end momento_del_dia.each do || ve += [:ve] print [:descripcion].ljust(35), [:grasas].to_s.ljust(9), [:hidratos].to_s.ljust(11), [:proteinas].to_s.ljust(12), [:fibra].to_s.ljust(8), [:sal].to_s.ljust(6), [:ve].round(0).to_s print "\n" end end puts '=' * 97 print 'Total '.rjust(81), ve end |
#valor_energetico(hash) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/einutricional/menu_dietetico.rb', line 44 def valor_energetico(hash) ve = 0 ve += hash[:grasas] * 9 ve += (hash[:hidratos] - hash[:azucares] - hash[:polialcoholes] - hash[:almidon]) * 4 ve += hash[:azucares] * 4 ve += hash[:polialcoholes] * 2.4 ve += hash[:almidon] * 4 ve += hash[:fibra] * 2 ve += hash[:proteinas] * 4 ve += hash[:sal] * 6 end |