Class: Grupo_de_Alimento

Inherits:
Alimento show all
Defined in:
lib/tdd/Alimento.rb

Overview

Clase Grupo_de_Alimento que hereda de Alimento

Author:

  • Lisseth Vergaray

Instance Attribute Summary collapse

Attributes inherited from Alimento

#glucidos, #grasas, #nombre, #proteinas

Instance Method Summary collapse

Methods inherited from Alimento

#get_glucidos, #get_grasas, #get_nombre, #get_proteinas, #get_valor_energetico

Constructor Details

#initialize(grupo, nombre, proteinas, glucidos, grasas) ⇒ Grupo_de_Alimento

Método para inicializar el objeto



77
78
79
80
# File 'lib/tdd/Alimento.rb', line 77

def initialize(grupo, nombre, proteinas, glucidos, grasas )
     @grupo = grupo 
     super(nombre, proteinas, glucidos, grasas)  #encadenamiento (chaining)
end

Instance Attribute Details

#grupoString (readonly)

Returns grupo de alimento

Returns:

  • (String)

    grupo de alimento



75
76
77
# File 'lib/tdd/Alimento.rb', line 75

def grupo
  @grupo
end

Instance Method Details

#<=>(otro) ⇒ Object

Definiendo <=> para el Mixin de Comporable



95
96
97
# File 'lib/tdd/Alimento.rb', line 95

def <=>(otro)
    self.get_valor_energetico <=> otro.get_valor_energetico #&& self.grupo <=> otro.grupo
end

#==(other) ⇒ Object

Restrictivo (con herencia - usa is_a?)



87
88
89
90
91
92
93
# File 'lib/tdd/Alimento.rb', line 87

def ==(other)
    if other.is_a?Alimento
        @nombre == other.nombre && @proteinas == other.proteinas && @glucidos == other.glucidos && @grasas = other.grasas
    else
        false
    end
end

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

Método para Enumerable

Yields:



99
100
101
102
103
104
105
106
# File 'lib/tdd/Alimento.rb', line 99

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

#to_sObject

Encadenamiento (chaining)



82
83
84
85
# File 'lib/tdd/Alimento.rb', line 82

def to_s
s = "#{@grupo}    "
s << super.to_s  
end