Class: Alimento
- Inherits:
-
Object
- Object
- Alimento
- Includes:
- Comparable
- Defined in:
- lib/FoodImpact/alimento.rb
Overview
Representa un alimento y sus nutrientes
Modo de uso:
Alimento.new(Gramos, nombre, proteinas, carbos, lipidos, gases, terreno)
Instance Attribute Summary collapse
-
#carbohidratos ⇒ Object
readonly
Returns the value of attribute carbohidratos.
-
#gei ⇒ Object
readonly
Returns the value of attribute gei.
-
#gramos ⇒ Object
readonly
Returns the value of attribute gramos.
-
#lipidos ⇒ Object
readonly
Returns the value of attribute lipidos.
-
#nombre ⇒ Object
readonly
Returns the value of attribute nombre.
-
#proteinas ⇒ Object
readonly
Returns the value of attribute proteinas.
-
#terreno ⇒ Object
readonly
Returns the value of attribute terreno.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Nos permite comparar alimentos.
-
#initialize(gramos, nombre, proteinas, carbohidratos, lipidos, gei, terreno) ⇒ Alimento
constructor
Construye un objeto alimento.
-
#to_s ⇒ Object
Devuelve una cadena con los valores del alimento.
-
#valor_energetico ⇒ Object
Devuelve el valor energético del alimento.
Constructor Details
#initialize(gramos, nombre, proteinas, carbohidratos, lipidos, gei, terreno) ⇒ Alimento
Construye un objeto alimento
12 13 14 15 16 |
# File 'lib/FoodImpact/alimento.rb', line 12 def initialize(gramos, nombre, proteinas, carbohidratos, lipidos, gei, terreno) @nombre, @proteinas, @carbohidratos, @lipidos, @gei = nombre, proteinas, carbohidratos, lipidos, gei @terreno = terreno @gramos = gramos end |
Instance Attribute Details
#carbohidratos ⇒ Object (readonly)
Returns the value of attribute carbohidratos.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def carbohidratos @carbohidratos end |
#gei ⇒ Object (readonly)
Returns the value of attribute gei.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def gei @gei end |
#gramos ⇒ Object (readonly)
Returns the value of attribute gramos.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def gramos @gramos end |
#lipidos ⇒ Object (readonly)
Returns the value of attribute lipidos.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def lipidos @lipidos end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def nombre @nombre end |
#proteinas ⇒ Object (readonly)
Returns the value of attribute proteinas.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def proteinas @proteinas end |
#terreno ⇒ Object (readonly)
Returns the value of attribute terreno.
9 10 11 |
# File 'lib/FoodImpact/alimento.rb', line 9 def terreno @terreno end |
Instance Method Details
#<=>(other) ⇒ Object
Nos permite comparar alimentos
29 30 31 32 |
# File 'lib/FoodImpact/alimento.rb', line 29 def <=>(other) @gramos + @proteinas + @carbohidratos + @lipidos + @gei + @terreno <=> other.gramos + other.proteinas + other.carbohidratos + other.lipidos + other.gei + other.terreno end |
#to_s ⇒ Object
Devuelve una cadena con los valores del alimento
19 20 21 |
# File 'lib/FoodImpact/alimento.rb', line 19 def to_s "Nombre: #{nombre}, Gramos: #{gramos}, Proteinas: #{proteinas}, Carbohidratos: #{carbohidratos}, Lípidos: #{lipidos}, GEI: #{gei}, Terreno: #{terreno}" end |
#valor_energetico ⇒ Object
Devuelve el valor energético del alimento
24 25 26 |
# File 'lib/FoodImpact/alimento.rb', line 24 def valor_energetico (@proteinas * 4 + @carbohidratos * 4 + @lipidos * 9) * (@gramos / 1000.0) end |