Class: DietaDSL
Overview
Clase Dieta
Direct Known Subclasses
Instance Attribute Summary collapse
-
#nombre ⇒ Object
readonly
Nombre.
-
#platos ⇒ Object
readonly
PLatos de la Dieta.
-
#porcentaje_ingesta ⇒ Object
readonly
Porcentaje de la ingesta diaria de la Dieta.
-
#porcentajes ⇒ Object
readonly
Porcentaje de proteinas, grasas e hidratos de carbono de la Dieta.
-
#titulo ⇒ Object
readonly
Titulo de la Dieta.
-
#vct ⇒ Object
readonly
Valor calórico de la Dieta.
Instance Method Summary collapse
-
#<=>(another) ⇒ Object
Método necesario para poder utilizar el módulo comparable.
-
#get_desc_plato(i) ⇒ Object
Método que devuelve las descripciones de los platos de la Dieta.
-
#get_grasas ⇒ Object
Método que el porcentaje de grasas de la Dieta.
-
#get_hidratos ⇒ Object
Método que el porcentaje de hidratos de carbono de la Dieta.
-
#get_ingesta_diaria ⇒ Object
Método que devuelve la ingesta diaria de la Dieta.
-
#get_plato(i) ⇒ Object
Método que devuelve la descripcion de un plato de la Dieta.
-
#get_platos ⇒ Object
Método que devuelve los platos de la Dieta.
-
#get_proteinas ⇒ Object
Método que el porcentaje de proteinas de la Dieta.
-
#get_titulo ⇒ Object
Método que devuelve el título de la Dieta.
-
#get_vct ⇒ Object
Método que el valor calórico de la Dieta.
- #ingesta_(opciones = {}) ⇒ Object
-
#initialize(nombre, &block) ⇒ DietaDSL
constructor
Constructor de la clase Dieta.
- #plato_(opciones = {}) ⇒ Object
- #porcentajes_(opciones = {}) ⇒ Object
- #titulo_(name) ⇒ Object
-
#to_s ⇒ Object
Método para imprimir Dieta.
Constructor Details
#initialize(nombre, &block) ⇒ DietaDSL
Constructor de la clase Dieta
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/gema/dietadsl.rb', line 18 def initialize(nombre,&block) @nombre = nombre @titulo = "" @porcentaje_ingesta = "" @platos = [] @vct = 0 @porcentajes = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end |
Instance Attribute Details
#nombre ⇒ Object (readonly)
Nombre
16 17 18 |
# File 'lib/gema/dietadsl.rb', line 16 def nombre @nombre end |
#platos ⇒ Object (readonly)
PLatos de la Dieta
10 11 12 |
# File 'lib/gema/dietadsl.rb', line 10 def platos @platos end |
#porcentaje_ingesta ⇒ Object (readonly)
Porcentaje de la ingesta diaria de la Dieta
8 9 10 |
# File 'lib/gema/dietadsl.rb', line 8 def porcentaje_ingesta @porcentaje_ingesta end |
#porcentajes ⇒ Object (readonly)
Porcentaje de proteinas, grasas e hidratos de carbono de la Dieta
14 15 16 |
# File 'lib/gema/dietadsl.rb', line 14 def porcentajes @porcentajes end |
#titulo ⇒ Object (readonly)
Titulo de la Dieta
6 7 8 |
# File 'lib/gema/dietadsl.rb', line 6 def titulo @titulo end |
#vct ⇒ Object (readonly)
Valor calórico de la Dieta
12 13 14 |
# File 'lib/gema/dietadsl.rb', line 12 def vct @vct end |
Instance Method Details
#<=>(another) ⇒ Object
Método necesario para poder utilizar el módulo comparable
36 37 38 |
# File 'lib/gema/dietadsl.rb', line 36 def <=>(another) vct <=> another.vct end |
#get_desc_plato(i) ⇒ Object
Método que devuelve las descripciones de los platos de la Dieta
52 53 54 |
# File 'lib/gema/dietadsl.rb', line 52 def get_desc_plato(i) "#{@platos[i][0]}, #{@platos[i][1]}, #{@platos[i][2]} " end |
#get_grasas ⇒ Object
Método que el porcentaje de grasas de la Dieta
76 77 78 |
# File 'lib/gema/dietadsl.rb', line 76 def get_grasas @porcentajes[1] end |
#get_hidratos ⇒ Object
Método que el porcentaje de hidratos de carbono de la Dieta
80 81 82 |
# File 'lib/gema/dietadsl.rb', line 80 def get_hidratos @porcentajes[2] end |
#get_ingesta_diaria ⇒ Object
Método que devuelve la ingesta diaria de la Dieta
56 57 58 |
# File 'lib/gema/dietadsl.rb', line 56 def get_ingesta_diaria @porcentaje_ingesta end |
#get_plato(i) ⇒ Object
Método que devuelve la descripcion de un plato de la Dieta
60 61 62 |
# File 'lib/gema/dietadsl.rb', line 60 def get_plato(i) @platos[i][0] end |
#get_platos ⇒ Object
Método que devuelve los platos de la Dieta
64 65 66 |
# File 'lib/gema/dietadsl.rb', line 64 def get_platos @platos end |
#get_proteinas ⇒ Object
Método que el porcentaje de proteinas de la Dieta
72 73 74 |
# File 'lib/gema/dietadsl.rb', line 72 def get_proteinas @porcentajes[0] end |
#get_titulo ⇒ Object
Método que devuelve el título de la Dieta
48 49 50 |
# File 'lib/gema/dietadsl.rb', line 48 def get_titulo @titulo end |
#get_vct ⇒ Object
Método que el valor calórico de la Dieta
68 69 70 |
# File 'lib/gema/dietadsl.rb', line 68 def get_vct @vct end |
#ingesta_(opciones = {}) ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/gema/dietadsl.rb', line 87 def ingesta_(opciones={}) ingest = "" ingest << "#{opciones[:min]}" if opciones[:min] ingest<<"-#{opciones[:max]} %" if opciones[:max] @porcentaje_ingesta = ingest end |
#plato_(opciones = {}) ⇒ Object
95 96 97 98 99 100 101 102 103 104 |
# File 'lib/gema/dietadsl.rb', line 95 def plato_(opciones={}) grams= "" descripcion="" porcion="" grams= "#{opciones[:gramos]} g" if opciones[:gramos] descripcion = opciones[:descripcion] if opciones[:descripcion] porcion = opciones[:porcion] if opciones[:porcion] @platos.push([descripcion,porcion,grams]) end |
#porcentajes_(opciones = {}) ⇒ Object
106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/gema/dietadsl.rb', line 106 def porcentajes_(opciones={}) @vct = opciones[:vct] if opciones[:vct] proteinas = "" grasas = "" hidratos="" proteinas = opciones[:proteinas] if opciones[:proteinas] grasas = opciones[:grasas] if opciones[:grasas] hidratos = opciones[:hidratos] if opciones[:hidratos] @porcentajes.push(proteinas) @porcentajes.push(grasas) @porcentajes.push(hidratos) end |
#titulo_(name) ⇒ Object
83 84 85 |
# File 'lib/gema/dietadsl.rb', line 83 def titulo_(name) @titulo = name end |
#to_s ⇒ Object
Método para imprimir Dieta
40 41 42 43 44 45 46 |
# File 'lib/gema/dietadsl.rb', line 40 def to_s title = "#{@titulo} ( #{@porcentaje_ingesta} )\n " for i in 0..@platos.size-1 title +="- #{@platos[i][0]}, #{@platos[i][1]}, #{@platos[i][2]} \n" end title += "V.C.T. |% #{@vct} kcal | #{@porcentajes[0]}% - #{@porcentajes[1]}% - #{@porcentajes[2]}%" end |