Class: Alimento::Plato

Inherits:
Object
  • Object
show all
Defined in:
lib/alimento/fuente.rb

Overview

Clase que presenta nutrientes y calorías de un plato

Instance Method Summary collapse

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_sObject

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