Class: Alimentos::Plato
Overview
Encargada de la representacion de un plato con diferentes cantidades de alimentos
Direct Known Subclasses
Instance Attribute Summary collapse
-
#grams ⇒ Object
readonly
Returns the value of attribute grams.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#receip ⇒ Object
readonly
Returns the value of attribute receip.
Instance Method Summary collapse
-
#<=>(param) ⇒ Bool
Comparable para Plato, centrado en las calorias.
-
#calories ⇒ Float
Calcula las calorias de un plato en comparacion a los gramos.
-
#carPercent ⇒ Float
Calcula el porcentaje de carbohidratos de un plato.
-
#initialize(name, receip, grams) ⇒ Plato
constructor
Da valor a las variables de instacia de la clase.
-
#lipPercent ⇒ Float
Calcula el porcentaje de lipidos de un plato.
-
#proPercent ⇒ Float
Calcula el porcentaje de proteinas de un plato.
-
#to_s ⇒ String
Formato de un plato a string.
Constructor Details
#initialize(name, receip, grams) ⇒ Plato
Da valor a las variables de instacia de la clase
179 180 181 182 183 |
# File 'lib/alimentos.rb', line 179 def initialize(name, receip, grams) @name = name @receip = receip @grams = grams end |
Instance Attribute Details
#grams ⇒ Object (readonly)
Returns the value of attribute grams.
170 171 172 |
# File 'lib/alimentos.rb', line 170 def grams @grams end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
170 171 172 |
# File 'lib/alimentos.rb', line 170 def name @name end |
#receip ⇒ Object (readonly)
Returns the value of attribute receip.
170 171 172 |
# File 'lib/alimentos.rb', line 170 def receip @receip end |
Instance Method Details
#<=>(param) ⇒ Bool
Comparable para Plato, centrado en las calorias
192 193 194 |
# File 'lib/alimentos.rb', line 192 def <=>(param) calories <=> param.calories end |
#calories ⇒ Float
Calcula las calorias de un plato en comparacion a los gramos
255 256 257 258 259 260 261 262 263 264 265 266 267 |
# File 'lib/alimentos.rb', line 255 def calories aux = [] for i in 0..@grams.length() - 1 aux[i] = @grams[i] / 100 end cal = 0 for i in 0..@grams.length() - 1 cal += @receip.lista[i].value.energi * aux[i] end (cal).round(2) end |
#carPercent ⇒ Float
Calcula el porcentaje de carbohidratos de un plato
237 238 239 240 241 242 243 244 245 246 247 248 |
# File 'lib/alimentos.rb', line 237 def carPercent aux = 0 for i in 0..@receip.tam - 1 aux += @receip.lista[i].value.car end x = [] for i in 0..@receip.tam - 1 x[i] = (@receip.lista[i].value.car / aux).round(2) end x end |
#lipPercent ⇒ Float
Calcula el porcentaje de lipidos de un plato
219 220 221 222 223 224 225 226 227 228 229 230 |
# File 'lib/alimentos.rb', line 219 def lipPercent aux = 0 for i in 0..@receip.tam - 1 aux += @receip.lista[i].value.lip end x = [] for i in 0..@receip.tam - 1 x[i] = (@receip.lista[i].value.lip / aux).round(2) end x end |
#proPercent ⇒ Float
Calcula el porcentaje de proteinas de un plato
201 202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/alimentos.rb', line 201 def proPercent aux = 0 for i in 0..@receip.tam - 1 aux += @receip.lista[i].value.pro end x = [] for i in 0..@receip.tam - 1 x[i] = (@receip.lista[i].value.pro / aux).round(2) end x end |
#to_s ⇒ String
Formato de un plato a string
274 275 276 277 278 279 280 |
# File 'lib/alimentos.rb', line 274 def to_s aux = "" for i in 0..@receip.tam - 1 aux += "#{@receip.lista[i].value.name} " end aux end |