Class: Alimento::Plato
- Inherits:
-
Object
- Object
- Alimento::Plato
- Defined in:
- lib/alimento/fuente.rb
Overview
Clase que presenta nutrientes y calorías de un plato
Instance Method Summary collapse
-
#aceite(name, muestra) ⇒ Object
Método de aceites.
-
#cereal(name, muestra) ⇒ Object
Método de cereales.
-
#fruta(name, muestra) ⇒ Object
Método de frutas.
-
#initialize(name, &block) ⇒ Plato
constructor
A new instance of Plato.
-
#medidas(medida, name, muestra) ⇒ Object
Método para extraer medidas del alimento en gramos.
-
#proteina(name, muestra) ⇒ Object
Método de proteínas.
-
#to_s ⇒ Object
Método para presentar en tabla los nutrientes del plato.
-
#vegetal(name, muestra) ⇒ Object
Método de vegetales.
Constructor Details
#initialize(name, &block) ⇒ Plato
Returns a new instance of Plato.
177 178 179 180 181 182 |
# File 'lib/alimento/fuente.rb', line 177 def initialize (name, &block) @name = name @ingredients = [] @listaEntorno= eval('@lista',block.binding) instance_eval(&block) end |
Instance Method Details
#aceite(name, muestra) ⇒ Object
Método de aceites
240 241 242 243 |
# File 'lib/alimento/fuente.rb', line 240 def aceite(name, muestra) #Una cucharada~ 15gr self.medidas(15,name,muestra) end |
#cereal(name, muestra) ⇒ Object
Método de cereales
228 229 230 231 |
# File 'lib/alimento/fuente.rb', line 228 def cereal(name, muestra) #Una taza~ 90gr self.medidas(90,name,muestra) end |
#fruta(name, muestra) ⇒ Object
Método de frutas
222 223 224 225 |
# File 'lib/alimento/fuente.rb', line 222 def fruta(name, muestra) #pieza~ 160gr self.medidas(160,name,muestra) end |
#medidas(medida, name, muestra) ⇒ Object
Método para extraer medidas del alimento en gramos
204 205 206 207 208 209 210 211 212 213 |
# File 'lib/alimento/fuente.rb', line 204 def medidas (medida,name,muestra) @ali=@listaEntorno.find{|i| i.nombre==name} if muestra[:porcion] gramos= medida * eval(muestra[:porcion].split(/ /)[0]<< '.to_f') else gramos= muestra[:gramos] end gramos=gramos/100 @ingredients << ([@ali] << gramos) end |
#proteina(name, muestra) ⇒ Object
Método de proteínas
234 235 236 237 |
# File 'lib/alimento/fuente.rb', line 234 def proteina(name, muestra) #pieza~ 70gr self.medidas(70,name,muestra) end |
#to_s ⇒ Object
Método para presentar en tabla los nutrientes del plato
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/alimento/fuente.rb', line 185 def to_s output = @name caloriasTotal=0 output << "\n#{'=' * @name.size}\n" output << "Composición nutricional:\n" output << "\t\tglúcidos\tproteínas\tlípidos\t\tcalorías\n" @ingredients.map do |i| output<< "#{i[0].nombre}\t\t#{(i[0].glucidos*i[1]).round(3)}" output<< "\t\t#{(i[0].proteinas*i[1]).round(3)}" output<< "\t\t#{(i[0].lipidos*i[1]).round(3)}" output<< "\t\t#{(i[0].calorias*i[1]).round(2)}\n" caloriasTotal+= (i[0].calorias*i[1]) end output << "Valor energético total:\t\t\t\t\t\t" output << "#{caloriasTotal.round(2)}" output end |
#vegetal(name, muestra) ⇒ Object
Método de vegetales
216 217 218 219 |
# File 'lib/alimento/fuente.rb', line 216 def vegetal(name, muestra) #pieza peq~ 90gr self.medidas(90,name,muestra) end |