Class: Dieta

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/prct06/Dieta.rb

Overview

clase principal de la jerarquía

Direct Known Subclasses

DietaEdad, DietaGrupo

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(titulo, porcentaje_ingesta, nplatos, vct, proteinas, grasas, hidratos, *des_platos) ⇒ Dieta

constructor



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/prct06/Dieta.rb', line 13

def initialize (titulo, porcentaje_ingesta, nplatos, vct, proteinas, grasas, hidratos, *des_platos)
	@titulo = titulo
	@porcentaje_ingesta = porcentaje_ingesta
	@nplatos = nplatos

	@platos = []
	for i in 0..nplatos-1 do
		aux = [des_platos[i][0], des_platos[i][1], des_platos[i][2]]
		@platos.push(aux)
	end

	@VCT = vct
	@proteinas = proteinas
	@grasas = grasas
	@hidratos = hidratos
end

Instance Attribute Details

#grasasObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def grasas
  @grasas
end

#hidratosObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def hidratos
  @hidratos
end

#nplatosObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def nplatos
  @nplatos
end

#platosObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def platos
  @platos
end

#porcentaje_ingestaObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def porcentaje_ingesta
  @porcentaje_ingesta
end

#proteinasObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def proteinas
  @proteinas
end

#tituloObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def titulo
  @titulo
end

#VCTObject (readonly)

attr



10
11
12
# File 'lib/prct06/Dieta.rb', line 10

def VCT
  @VCT
end

Instance Method Details

#<=>(other) ⇒ Object

invalidación del <=> para hacer los objetos comparables



39
40
41
42
# File 'lib/prct06/Dieta.rb', line 39

def <=> (other)
	return nil unless other.is_a?Dieta
	self.VCT <=> other.VCT
end

#plato(n) ⇒ Object

acceso a un plato en concreto



31
32
33
34
35
36
# File 'lib/prct06/Dieta.rb', line 31

def plato (n)
	if n > @nplatos || n < 1 then
		return ""
	end
	return @platos[n-1]
end

#to_sObject

formateo a string



45
46
47
48
49
50
51
52
53
54
# File 'lib/prct06/Dieta.rb', line 45

def to_s
	x = ""
	x << "#{@titulo} (#{@porcentaje_ingesta}%)\n"

	@platos.each do |i|
		x << "- #{i[0]}, #{i[1]}, #{i[2]}g\n"
	end

	x << "V.C.T | %    #{@VCT} kcal | #{@proteinas} #{@grasas} #{@hidratos}\n\n"
end