Class: Alimento

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/tdd/Alimento.rb

Overview

Clase ALimento , Plantilla para representar un alimento con sus respectivo nombre e información sobre nutrientes

Author:

  • Lisseth Vergaray Del Aguila

Direct Known Subclasses

Grupo_de_Alimento

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre, proteinas, glucidos, grasas) ⇒ Alimento

Método para inicializar el objeto

Parameters:

  • nombre

    proteinas glucidos grasas



16
17
18
19
20
21
# File 'lib/tdd/Alimento.rb', line 16

def initialize (nombre, proteinas, glucidos, grasas)
    @nombre = nombre 
    @proteinas = proteinas
    @glucidos = glucidos
    @grasas = grasas
end

Instance Attribute Details

#glucidosString, Numeric

Returns:

  • (String)

    nombre del alimento

  • (Numeric)

    proteinas que contiene el alimento

  • (Numeric)

    glúcidos que contiene el alimento

  • (Numeric)

    grasas que contiene el alimento



12
13
14
# File 'lib/tdd/Alimento.rb', line 12

def glucidos
  @glucidos
end

#grasasString, Numeric

Returns:

  • (String)

    nombre del alimento

  • (Numeric)

    proteinas que contiene el alimento

  • (Numeric)

    glúcidos que contiene el alimento

  • (Numeric)

    grasas que contiene el alimento



12
13
14
# File 'lib/tdd/Alimento.rb', line 12

def grasas
  @grasas
end

#nombreString, Numeric

Returns:

  • (String)

    nombre del alimento

  • (Numeric)

    proteinas que contiene el alimento

  • (Numeric)

    glúcidos que contiene el alimento

  • (Numeric)

    grasas que contiene el alimento



12
13
14
# File 'lib/tdd/Alimento.rb', line 12

def nombre
  @nombre
end

#proteinasString, Numeric

Returns:

  • (String)

    nombre del alimento

  • (Numeric)

    proteinas que contiene el alimento

  • (Numeric)

    glúcidos que contiene el alimento

  • (Numeric)

    grasas que contiene el alimento



12
13
14
# File 'lib/tdd/Alimento.rb', line 12

def proteinas
  @proteinas
end

Instance Method Details

#<=>(otro) ⇒ Object

Método <=> para Mixin de Comparable

Parameters:

  • otro

    , recibe otro objeto Alimento para compararse



52
53
54
# File 'lib/tdd/Alimento.rb', line 52

def <=>(otro)
    self.get_valor_energetico <=> otro.get_valor_energetico
end

#each {|@nombre| ... } ⇒ Object

Método each para poder hacer uso de Enumerable

Yields:



56
57
58
59
60
61
62
# File 'lib/tdd/Alimento.rb', line 56

def each 
    yield @nombre
    yield @proteinas
    yield @glucidos
    yield @grasas
    yield self.get_valor_energetico
end

#get_glucidosObject

Getter de atributo glúcidos

Returns:

  • glucidos



34
35
36
# File 'lib/tdd/Alimento.rb', line 34

def get_glucidos
    @glucidos
end

#get_grasasObject

Getter de atributo grasas

Returns:

  • grasas



39
40
41
# File 'lib/tdd/Alimento.rb', line 39

def get_grasas
    @grasas
end

#get_nombreObject

Getter de atributo nombre

Returns:

  • nombre



24
25
26
# File 'lib/tdd/Alimento.rb', line 24

def get_nombre
    @nombre
end

#get_proteinasObject

Getter de atributo proteínas

Returns:

  • proteinas



29
30
31
# File 'lib/tdd/Alimento.rb', line 29

def get_proteinas
    @proteinas
end

#get_valor_energeticoObject

Método para calcular el valor enérgetico del ALimento

Returns:

  • ve



65
66
67
68
# File 'lib/tdd/Alimento.rb', line 65

def get_valor_energetico
    ve = ((@proteinas * 4) + (@glucidos * 4) + (@grasas * 9))
    ve
end

#to_sObject

Método para mostrar el objeto

Returns:

  • cadena s



44
45
46
47
48
49
# File 'lib/tdd/Alimento.rb', line 44

def to_s
    s = ""
    s << "#{@nombre}        #{@proteinas}      #{@glucidos}      #{@grasas}"
    
    s
end