class Einutricional::MenuDietetico

Attributes

alimentos[RW]
alm[RW]
cen[RW]
des[RW]
dia_semana[RW]
ingesta_max[RW]
ingesta_min[RW]
tit[RW]

Public Class Methods

new(dia_semana) { |self| ... } click to toggle source
# 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

Public Instance Methods

<=>(other) click to toggle source
# File lib/einutricional/menu_dietetico.rb, line 56
def <=>(other)
  valor_energetico_menu <=> other.valor_energetico_menu
end
almuerzo(alm) click to toggle source
# File lib/einutricional/menu_dietetico.rb, line 34
def almuerzo(alm)
  alm[:ve] = valor_energetico(alm)
  @alm << alm
end
cena(cen) click to toggle source
# File lib/einutricional/menu_dietetico.rb, line 39
def cena(cen)
  cen[:ve] = valor_energetico(cen)
  @cen << cen
end
desayuno(des) click to toggle source
# File lib/einutricional/menu_dietetico.rb, line 29
def desayuno(des)
  des[:ve] = valor_energetico(des)
  @des << des
end
ingesta(datos) click to toggle source
# File lib/einutricional/menu_dietetico.rb, line 24
def ingesta(datos)
  @ingesta_min = datos[:min]
  @ingesta_max = datos[:max]
end
titulo(t) click to toggle source
# File lib/einutricional/menu_dietetico.rb, line 20
def titulo(t)
  @tit = t
end
to_s() click to toggle source
# 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 |menu|
      ve += menu[:ve]
      print menu[:descripcion].ljust(35),
            menu[:grasas].to_s.ljust(9),
            menu[:hidratos].to_s.ljust(11),
            menu[:proteinas].to_s.ljust(12),
            menu[:fibra].to_s.ljust(8),
            menu[:sal].to_s.ljust(6),
            menu[:ve].round(0).to_s
      print "\n"
    end
  end
  puts '=' * 97
  print 'Total   '.rjust(81), ve
end
valor_energetico(hash) click to toggle source
# 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