Class: Diet

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

Direct Known Subclasses

Diet_Alim, Diet_edad

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(title, percentage, con_plato, vct, data) ⇒ Diet

inicializamos la clase con un titulo, un porcentaje, un conjunto de platos, un valor calorico y unos valores de proteinas, grasas…



11
12
13
14
15
16
17
18
# File 'lib/practica6/practica6.rb', line 11

def initialize(title,percentage,con_plato,vct,data)
    @title=title
    @percentage=percentage
	@con_plato = Array.new + con_plato
	@des_plato = con_plato[0]
	@vct = vct
	@data = Array.new + data
end

Instance Attribute Details

#con_platoObject (readonly)

Returns the value of attribute con_plato.



7
8
9
# File 'lib/practica6/practica6.rb', line 7

def con_plato
  @con_plato
end

#dataObject (readonly)

Returns the value of attribute data.



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

def data
  @data
end

#des_platoObject (readonly)

Returns the value of attribute des_plato.



6
7
8
# File 'lib/practica6/practica6.rb', line 6

def des_plato
  @des_plato
end

#percentageObject (readonly)

Returns the value of attribute percentage.



5
6
7
# File 'lib/practica6/practica6.rb', line 5

def percentage
  @percentage
end

#titleObject (readonly)

Returns the value of attribute title.



4
5
6
# File 'lib/practica6/practica6.rb', line 4

def title
  @title
end

#vctObject (readonly)

Returns the value of attribute vct.



9
10
11
# File 'lib/practica6/practica6.rb', line 9

def vct
  @vct
end

Instance Method Details

#<=>(other) ⇒ Object

operadores de <,<=,>,>=



20
21
22
# File 'lib/practica6/practica6.rb', line 20

def <=>(other)
	vct<=>other.vct
end

#==(other) ⇒ Object

operador de ==: compara cada variables de instancia de la clase



24
25
26
27
28
29
30
31
# File 'lib/practica6/practica6.rb', line 24

def ==(other)
	title==other.title
	percentage==other.percentage
	des_plato==other.des_plato
	con_plato==other.con_plato
	data==other.data
	vct==other.vct
end

#daily_percentageObject

metodo que devuelve el porcentaje que supone del dia entero



41
42
43
# File 'lib/practica6/practica6.rb', line 41

def daily_percentage
	percentage
end

#grasObject

metodo que devuelve el porcentaje de grasas



69
70
71
# File 'lib/practica6/practica6.rb', line 69

def gras
	data[1]
end

#group_platesObject

metodo que devuelve el nombre del conjunto de platos



50
51
52
53
54
55
56
57
58
59
# File 'lib/practica6/practica6.rb', line 50

def group_plates
	s = "#{con_plato[0][0]}"
	$i=1
	while $i < con_plato.length do
		s+= ", "
		s+= "#{con_plato[$i][0]}"
		$i+=1
	end
	s
end

#hid_carObject

metodo que devuelve el porcentaje de hodratos de carbono



73
74
75
# File 'lib/practica6/practica6.rb', line 73

def hid_car
	data[2]
end

metodo que devuelve el titulo de la dieta



37
38
39
# File 'lib/practica6/practica6.rb', line 37

def menu_title
	title
end

#obtain_plateObject

metodo que devuelve el nombre del primer plato



33
34
35
# File 'lib/practica6/practica6.rb', line 33

def obtain_plate
	con_plato[0][0]
end

#one_plate(num) ⇒ Object

metodo que devuelve el nombre de uno de los platos



45
46
47
48
# File 'lib/practica6/practica6.rb', line 45

def one_plate (num)
	con_plato[num][0]

end

#protObject

metodo que devuelve el porcentaje de proteinas



65
66
67
# File 'lib/practica6/practica6.rb', line 65

def prot
	data[0]
end

#to_sObject

metodo que imprime formateada la dieta completa



77
78
79
80
81
82
83
84
85
86
# File 'lib/practica6/practica6.rb', line 77

def to_s
	s="#{title} (#{percentage}%)\n"
	$i=0
	while $i<con_plato.length do
		s+= "- #{con_plato[$i][0]}, #{con_plato[$i][1]}, #{con_plato[$i][2]} gr\n"
		$i+=1
	end
	s+="V.C.T | %  #{vct} kcal | #{data[0]}% - #{data[1]} - #{data[2]}" 
	
end

#valorObject

metodo que devuelve el valor calorico



61
62
63
# File 'lib/practica6/practica6.rb', line 61

def valor
	vct
end