Class: Diet

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

Direct Known Subclasses

Alimentos, Edad

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tag, &block) ⇒ Diet

Returns a new instance of Diet.



14
15
16
17
18
# File 'lib/prct06/prct06menu.rb', line 14

def initialize(tag, &block)
		self.tag = tag
	 @rcps  = Array.new #Array de platos
		instance_eval &block
end

Instance Attribute Details

#dipObject

Ingesta Diaria



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

def dip
  @dip
end

#pchdtObject

Porcentaje de hidratos de carbono



13
14
15
# File 'lib/prct06/prct06menu.rb', line 13

def pchdt
  @pchdt
end

#pftsObject

Porcentaje de grasas



12
13
14
# File 'lib/prct06/prct06menu.rb', line 12

def pfts
  @pfts
end

#pprtnObject

Porcentaje de proteínas



11
12
13
# File 'lib/prct06/prct06menu.rb', line 11

def pprtn
  @pprtn
end

#rcpsObject

Array de platos



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

def rcps
  @rcps
end

#tagObject

Etiqueta



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

def tag
  @tag
end

#ttlObject

Título



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

def ttl
  @ttl
end

#vctObject

Valor calorífico Total



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

def vct
  @vct
end

Instance Method Details

#<=>(otra_dieta) ⇒ Object



26
27
28
# File 'lib/prct06/prct06menu.rb', line 26

def <=> otra_dieta
	self.vct <=> otra_dieta.vct
end

#ingesta(options = {}) ⇒ Object



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

def ingesta (options = {})
	@dip="(#{options[:min]},#{options[:max]})"
end

#new_recipe(dstn, ptn, dig) ⇒ Object

Con este método añadimos en el array un nuevo plato siguiendo el formato predefinido.



21
22
23
24
# File 'lib/prct06/prct06menu.rb', line 21

def new_recipe(dstn,ptn,dig)
	tmp = "- #{dstn}, #{ptn} unidades, #{dig} g\n"
	rcps << tmp
end

#plato(options = {}) ⇒ Object



44
45
46
47
48
# File 'lib/prct06/prct06menu.rb', line 44

def plato (options = {})
	rcps << "(#{options[:descripcion]})"
	rcps << "(#{options[:porcion]})"
	rcps << "(#{options[:gramos]})"
end

#porcentajes(options = {}) ⇒ Object



49
50
51
52
53
54
# File 'lib/prct06/prct06menu.rb', line 49

def porcentajes (options = {})
	@vct="(#{options[:vct]})"
	@pprtn="(#{options[:proteinas]})"
	@pfts="(#{options[:grasas]})"
	@pchdt="(#{options[:hidratos]})"
end

#titulo(name) ⇒ Object



38
39
40
# File 'lib/prct06/prct06menu.rb', line 38

def titulo (name)
	@ttl=name
end

#to_sObject



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

def to_s
	mostrar = ""
	 mostrar << "\n\n#{@ttl} (#{@dip} %)\n"
		 for i in 0..(@rcps.length-1)
 			 mostrar << "- #{@rcps[i]}\n"
 		end
 		mostrar << "V.C.T | % #{@vct} kcal | #{@pprtn}% - #{@pfts}% - #{@pchdt}%\n\n"
end