class Dieta
clase principal de la jerarquía
Attributes
grasas[RW]
attr
hidratos[RW]
attr
nombre[RW]
attr
nplatos[RW]
attr
platos[RW]
attr
porcentaje_ingesta[RW]
attr
proteinas[RW]
attr
titulo[RW]
attr
vct[RW]
attr
Public Class Methods
new(nombre) { |self| ... }
click to toggle source
constructor
# File lib/prct06/Dieta.rb, line 13 def initialize (nombre, &block) self.nombre = nombre self.titulo self.porcentaje_ingesta self.nplatos self.platos = [] self.vct self.proteinas self.grasas self.hidratos if block_given? if block.arity == 1 yield self else instance_eval &block end end end
Public Instance Methods
<=>(other)
click to toggle source
invalidación del <=> para hacer los objetos comparables
# File lib/prct06/Dieta.rb, line 79 def <=> (other) return nil unless other.is_a?Dieta self.vct <=> other.vct end
get_plato(n)
click to toggle source
acceso a un plato en concreto
# File lib/prct06/Dieta.rb, line 71 def get_plato (n) if n < 1 then return "" end return platos[n-1] end
ingesta(porcentaje = {})
click to toggle source
función para definir el porcentaje de ingesta. Podría darse una estimación entre dos
# File lib/prct06/Dieta.rb, line 41 def ingesta(porcentaje = {}) standard = porcentaje[:fijo] if porcentaje[:fijo] low = porcentaje[:min] if porcentaje[:min] up = porcentaje[:max] if porcentaje[:max] if porcentaje[:fijo] then self.porcentaje_ingesta = "#{standard}%" else self.porcentaje_ingesta = "#{low}% - #{up}%" end end
plato(options = {})
click to toggle source
función para definir platos nuevos
# File lib/prct06/Dieta.rb, line 62 def plato(options = {}) nuevo = [] nuevo << "#{options[:descripcion]}" if options[:descripcion] nuevo << "#{options[:porcion]}" if options[:porcion] nuevo << options[:gramos] if options[:gramos] platos << nuevo end
porcentajes(options = {})
click to toggle source
función para definir los porcentajes de grasa, proteínas, hidratos y el valor calórico total
# File lib/prct06/Dieta.rb, line 54 def porcentajes(options = {}) self.vct = options[:vct] if options[:vct] self.proteinas = options[:proteinas] if options[:proteinas] self.grasas = options[:grasas] if options[:grasas] self.hidratos = options[:hidratos] if options[:hidratos] end
tipo(ntitulo)
click to toggle source
función para definir el título del menú: almuerzo, cena, etc.
# File lib/prct06/Dieta.rb, line 36 def tipo(ntitulo) self.titulo = ntitulo end
to_s()
click to toggle source
formateo a string
# File lib/prct06/Dieta.rb, line 85 def to_s x = "" x << "#{titulo} (#{porcentaje_ingesta})\n" platos.each do |i| x << "- #{i[0]}, #{i[1]}, #{i[2]}g\n" end x << "V.C.T | % #{vct} kcal | #{proteinas} #{grasas} #{hidratos}\n\n" end