Class: Menu

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/prct08/menu.rb

Overview

require ‘./plato’

Direct Known Subclasses

Menu_alimento, Menu_edad

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(titulo, ingestaPor, platos, valorCT, porcentajePro, porcentajeGra, porcentajeHid) ⇒ Menu

Returns a new instance of Menu.



9
10
11
12
13
14
15
16
17
# File 'lib/prct08/menu.rb', line 9

def initialize(titulo, ingestaPor, platos, valorCT, porcentajePro, porcentajeGra, porcentajeHid)
    @titulo         = titulo
    @ingestaPor     = ingestaPor
    @platos         = platos
    @valorCT        = valorCT
    @porcentajePro  = porcentajePro
    @porcentajeGra  = porcentajeGra
    @porcentajeHid  = porcentajeHid
end

Instance Attribute Details

#ingestaPorObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def ingestaPor
  @ingestaPor
end

#platosObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def platos
  @platos
end

#porcentajeGraObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def porcentajeGra
  @porcentajeGra
end

#porcentajeHidObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def porcentajeHid
  @porcentajeHid
end

#porcentajeProObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def porcentajePro
  @porcentajePro
end

#tituloObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def titulo
  @titulo
end

#valorCTObject

geters y serters asi nos ahorramos escribirlo



5
6
7
# File 'lib/prct08/menu.rb', line 5

def valorCT
  @valorCT
end

Instance Method Details

#<=>(otro) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/prct08/menu.rb', line 36

def <=> (otro)
    return nil unless otro.is_a?Menu #Si el otro objeto no es del tipo menu devuelve nil
    if (@valorCT[0] == otro.valorCT[0])
        if(@platos.length == otro.platos.length)
            return 0
        else
            if(@platos.length < otro.platos.length)
                return -1
            end
            return 1
        end
    else
        if(@valorCT[0] < otro.valorCT[0])
            return -1
        end
        return 1
    end
end

#==(otro) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/prct08/menu.rb', line 55

def ==(otro)
   if otro.is_a?Menu
        @titulo == otro.titulo &&
        @ingestaPor == otro.ingestaPor &&
        @platos == otro.platos &&
        @valorCT == otro.valorCT &&
        @porcentajePro == otro.porcentajePro &&
        @porcentajeGra == otro.porcentajeGra &&
        @porcentajeHid == otro.porcentajeHid
    else
        false
    end 
end

#getConjPlatosObject



32
33
34
# File 'lib/prct08/menu.rb', line 32

def getConjPlatos
    return platos
end

#getPlato(pos) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/prct08/menu.rb', line 20

def getPlato(pos)
    
    if(pos-1 >= platos.length || pos-1 < 0)
        return (puts "Error posicion no valida")
    end
    
    if(pos-1 < platos.length)
        return platos[pos-1]
    end

end

#to_sObject



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/prct08/menu.rb', line 69

def to_s
    string = "#{@titulo} (" 
    
    @ingestaPor.each_with_index do |elem,i| 
        if(i==1)
            string+=" - "
        end
        string+= "#{elem}"
    end 
    string+="%)\n"

     @platos.each_with_index do |elem,i|
        string+="- #{elem.to_s}\n"
     end
   
    string+="V.C.T. | % #{valorCT[0]} #{valorCT[1]} | #{porcentajePro}% - #{porcentajeGra}% - #{porcentajeHid}%"
    
    return string
end