Class: GrupoAlimenticio
- Defined in:
- lib/alimento/GrupoAlimenticio.rb,
lib/alimento/version.rb
Overview
Representación de un grupo alimenticio con categoría Hereda de Lista
Constant Summary collapse
- VERSION =
Version de la clase GrupoAlimenticio
"1.0.0"
Instance Attribute Summary collapse
- #categoria ⇒ Object readonly
-
#Node ⇒ Object
readonly
head Nodo en la cabeza de la lista.
-
#String ⇒ Object
readonly
categoria categoria del grupo alimenticio representado.
Attributes inherited from Lista
Instance Method Summary collapse
-
#initialize(categoria) ⇒ GrupoAlimenticio
constructor
Constructor de GrupoAlimenticio.
-
#pop_alimento ⇒ any?
Extracción del primer AlimentoCategorizable del GrupoAlimenticio.
-
#push_alimento(x) ⇒ Node
Inserción de AlimentoCategorizable por la cabeza de la lista del GrupoAlimenticio.
-
#push_alimentos(x) ⇒ Node
Inserción de varios AlimentoCategorizable por la cabeza de la lista del GrupoAlimenticio.
-
#to_s ⇒ String
Convierte el objeto en un String.
Methods inherited from Lista
#each, #pop_head, #pop_tail, #push, #push_head, #push_tail
Constructor Details
#initialize(categoria) ⇒ GrupoAlimenticio
Constructor de GrupoAlimenticio
17 18 19 20 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 17 def initialize(categoria) super() @categoria = categoria end |
Instance Attribute Details
#categoria ⇒ Object (readonly)
11 12 13 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 11 def categoria @categoria end |
#Node ⇒ Object (readonly)
head Nodo en la cabeza de la lista
10 11 12 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 10 def Node @Node end |
#String ⇒ Object (readonly)
categoria categoria del grupo alimenticio representado
10 11 12 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 10 def String @String end |
Instance Method Details
#pop_alimento ⇒ any?
Extracción del primer AlimentoCategorizable del GrupoAlimenticio
47 48 49 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 47 def pop_alimento() pop_head() end |
#push_alimento(x) ⇒ Node
Inserción de AlimentoCategorizable por la cabeza de la lista del GrupoAlimenticio
26 27 28 29 30 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 26 def push_alimento(x) if(x.is_a?(AlimentoCategorizable)) push_head(AlimentoCategorizable.new(x.nombre, @categoria, x.glucidos, x.proteinas, x.lipidos)) end end |
#push_alimentos(x) ⇒ Node
Inserción de varios AlimentoCategorizable por la cabeza de la lista del GrupoAlimenticio
36 37 38 39 40 41 42 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 36 def push_alimentos(x) x.each do |alimento| if(alimento.is_a?(AlimentoCategorizable)) push_head(AlimentoCategorizable.new(alimento.nombre, @categoria, alimento.glucidos, alimento.proteinas, alimento.lipidos)) end end end |
#to_s ⇒ String
Convierte el objeto en un String
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/alimento/GrupoAlimenticio.rb', line 53 def to_s x = categoria + "\n" titles = "#{" " * 21}%-10s %-10s %-10s\n" % ["proteínas", "glúcidos", "lípidos"] x += titles each do |alimento| x += Alimento.instance_method(:to_s).bind(alimento).call + "\n" end x += "\n" return x end |