Class: Alimento

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#carbohidratosObject (readonly)

Returns the value of attribute carbohidratos.



9
10
11
# File 'lib/FoodImpact/alimento.rb', line 9

def carbohidratos
  @carbohidratos
end

#geiObject (readonly)

Returns the value of attribute gei.



9
10
11
# File 'lib/FoodImpact/alimento.rb', line 9

def gei
  @gei
end

#gramosObject (readonly)

Returns the value of attribute gramos.



9
10
11
# File 'lib/FoodImpact/alimento.rb', line 9

def gramos
  @gramos
end

#lipidosObject (readonly)

Returns the value of attribute lipidos.



9
10
11
# File 'lib/FoodImpact/alimento.rb', line 9

def lipidos
  @lipidos
end

#nombreObject (readonly)

Returns the value of attribute nombre.



9
10
11
# File 'lib/FoodImpact/alimento.rb', line 9

def nombre
  @nombre
end

#proteinasObject (readonly)

Returns the value of attribute proteinas.



9
10
11
# File 'lib/FoodImpact/alimento.rb', line 9

def proteinas
  @proteinas
end

#terrenoObject (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_sObject

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_energeticoObject

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