Class: MenuPorAlimentos

Inherits:
Menu
  • Object
show all
Defined in:
lib/Dieta/menu_alimentos.rb

Overview

Menú dietético con un tipo de alimentos específicos compuesto por varios platos

Author:

Instance Attribute Summary collapse

Attributes inherited from Menu

#platos, #porcentaje_diario, #porcentaje_grasas, #porcentaje_hidratos, #porcentaje_proteinas, #titulo, #vct

Instance Method Summary collapse

Methods inherited from Menu

#<=>, #get_plato, #ingesta, #plato, #porcentajes, #title

Constructor Details

#initializeMenuPorAlimentos

Constructor

Parameters:

  • titulo (String)

    Título del menú



13
14
15
# File 'lib/Dieta/menu_alimentos.rb', line 13

def initialize
	super
end

Instance Attribute Details

#tipo_alimentosString (readonly)

Tipos de alimentos que contiene

Returns:

  • (String)

    the current value of tipo_alimentos



8
9
10
# File 'lib/Dieta/menu_alimentos.rb', line 8

def tipo_alimentos
  @tipo_alimentos
end

Instance Method Details

#tipo(valor) ⇒ Object

Asigna el tipo de alimentos

Parameters:

  • valor (String)

    descripción tipo de alimentos

Raises:

  • (ArgumentError)


19
20
21
22
# File 'lib/Dieta/menu_alimentos.rb', line 19

def tipo(valor)
	raise ArgumentError.new("tipo_alimentos no es un String") if !valor.instance_of?(String)
	@tipo_alimentos = valor
end

#to_sObject

Devuelve una cadena de texto que representa al menú



25
26
27
28
29
30
31
32
# File 'lib/Dieta/menu_alimentos.rb', line 25

def to_s
	s = "#{@titulo.upcase} (#{@porcentaje_diario}%)\n"
	s << "Tipo de alimentos: #{@tipo_alimentos}\n"
	@platos.each do |plato|
		s << "- #{plato.to_s}"
	end
	s << "V.C.T | %\t#{@vct.round(1)} kcal | #{@porcentaje_proteinas}% - #{@porcentaje_grasas}% - #{@porcentaje_hidratos}%\n"
end