class Plato

Public Class Methods

new(name, list) { |self| ... } click to toggle source
# File lib/Alimento/alimento.rb, line 83
def initialize(name, list, &block)
  @nombre = name
  @lista_alimentos = list
  @vegetal = []
  @fruta = []
  @cereal = []
  @proteina = []
  @aceite = []
  @valor_energetico = 0

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

Public Instance Methods

aceite(name, options = {}) click to toggle source
# File lib/Alimento/alimento.rb, line 175
def aceite(name, options = {})
  cantidad = 0
  alimento = @lista_alimentos.find { |x| name == x[:value].nombre_to_s }

  if options[:gramos]
     cantidad = options[:gramos]
  else
      porcion = options[:porcion].split(" ", 2)
      cantidad = @@medidas[porcion[1]]
      cantidad = cantidad * porcion[0].to_r.to_f
  end
  @valor_energetico += cantidad * alimento[:value].valor_energetico()
  @aceite.push([alimento, (cantidad * alimento[:value].valor_energetico).round(2)])
end
cereal(name, options = {}) click to toggle source
# File lib/Alimento/alimento.rb, line 145
def cereal(name, options = {})
  cantidad = 0
  alimento = @lista_alimentos.find { |x| name == x[:value].nombre_to_s }

  if options[:gramos]
     cantidad = options[:gramos]
  else
      porcion = options[:porcion].split(" ", 2)
      cantidad = @@medidas[porcion[1]]
      cantidad = cantidad * porcion[0].to_r.to_f
  end
  @valor_energetico += cantidad * alimento[:value].valor_energetico()
  @cereal.push([alimento, (cantidad * alimento[:value].valor_energetico).round(2)])
end
fruta(name, options = {}) click to toggle source
# File lib/Alimento/alimento.rb, line 130
def fruta(name, options = {})
  cantidad = 0
  alimento = @lista_alimentos.find { |x| name == x[:value].nombre_to_s }

  if options[:gramos]
     cantidad = options[:gramos]
  else
      porcion = options[:porcion].split(" ", 2)
      cantidad = @@medidas[porcion[1]]
      cantidad = cantidad * porcion[0].to_r.to_f
  end
  @valor_energetico += cantidad * alimento[:value].valor_energetico()
  @fruta.push([alimento, (cantidad * alimento[:value].valor_energetico).round(2)])
end
proteina(name, options = {}) click to toggle source
# File lib/Alimento/alimento.rb, line 160
def proteina(name, options = {})
  cantidad = 0
  alimento = @lista_alimentos.find { |x| name == x[:value].nombre_to_s }

  if options[:gramos]
     cantidad = options[:gramos]
  else
      porcion = options[:porcion].split(" ", 2)
      cantidad = @@medidas[porcion[1]]
      cantidad = cantidad * porcion[0].to_r.to_f
  end
  @valor_energetico += cantidad * alimento[:value].valor_energetico()
  @proteina.push([alimento, (cantidad * alimento[:value].valor_energetico).round(2)])
end
to_s() click to toggle source
# File lib/Alimento/alimento.rb, line 102
def to_s
    puts"#{@nombre}"
    puts"================================================================="
    puts"Composicion nutricional:"
    puts"\t\t\tglucidos\tproteınas\tlıpidos\t\tvalor energetico"
    @vegetal.map { |e| printf"#{e[0][:value].informacion_to_s}#{e[1]}\n"}
    @fruta.map { |e| printf"#{e[0][:value].informacion_to_s}#{e[1]}\n"}
    @cereal.map { |e| printf"#{e[0][:value].informacion_to_s}#{e[1]}\n"}
    @proteina.map { |e| printf"#{e[0][:value].informacion_to_s}#{e[1]}\n"}
    @aceite.map { |e| printf"#{e[0][:value].informacion_to_s}#{e[1]}\n"}
    puts"Valor energetico total %66s" % @valor_energetico
end
vegetal(name, options = {}) click to toggle source
# File lib/Alimento/alimento.rb, line 115
def vegetal(name, options = {})
  cantidad = 0
  alimento = @lista_alimentos.find { |x| name == x[:value].nombre_to_s }

  if options[:gramos]
     cantidad = options[:gramos]
  else
      porcion = options[:porcion].split(" ", 2)
      cantidad = @@medidas[porcion[1]]
      cantidad = cantidad * porcion[0].to_r.to_f
  end
  @valor_energetico += cantidad * alimento[:value].valor_energetico()
  @vegetal.push([alimento, (cantidad * alimento[:value].valor_energetico).round(2)])
end