Skip to content

Commit

Permalink
Finalizado DSL y metodo to_s para mostrar el menu
Browse files Browse the repository at this point in the history
  • Loading branch information
dsuarezl committed Jan 3, 2019
1 parent 94239b4 commit 6dbb281
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 47 deletions.
Binary file modified lib/gema/.etiqueta_nut.rb.swp
Binary file not shown.
Binary file modified lib/gema/.menu.rb.swp
Binary file not shown.
10 changes: 8 additions & 2 deletions lib/gema/etiqueta_nut.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class Etiqueta_nut
attr_reader :kj, :kcal, :nombre, :grasas, :grasas_s, :hidratos, :azucares, :proteinas, :sal, :grasas_mon, :grasas_pol, :polialcoholes, :almidon, :fibra, :vitaminas, :minerales, :n_porciones, :tamaño


def initialize(nombre = 0,grasas = 0, grasas_s = 0,hidratos = 0,azucares = 0,proteinas = 0,sal = 0,grasas_mon = 0,grasas_pol = 0,polialcoholes = 0,almidon = 0,fibra = 0,vitaminas = 0,minerales = 0)
def initialize(nombre,grasas,grasas_s,hidratos,azucares,proteinas,sal,grasas_mon,grasas_pol,polialcoholes,almidon,fibra,vitaminas,minerales)
@nombre,@grasas,@grasas_s,@hidratos,@azucares,@proteinas,@sal,@grasas_mon,@grasas_pol,@polialcoholes,@almidon,@fibra,@vitaminas,@minerales = nombre,grasas,grasas_s,hidratos,azucares,proteinas,sal,grasas_mon,grasas_pol,polialcoholes,almidon,fibra,vitaminas,minerales
end

Expand All @@ -22,8 +22,14 @@ def valor_energetico()

end

#Convierte la etiqueta a una cadena
def to_s()

"#{@nombre}#{' ' * (24 - @nombre.length)}#{@grasas}\t#{@hidratos}\t\t#{@azucares}\t\t#{@proteinas}\t\t#{@sal}\t#{@polialcoholes}\t\t#{@almidon}\t#{@fibra}\t#{@vitaminas}\t\t#{@minerales}\t\t#{@kcal}\n"

end

#Convierte la etiqueta a una cadena
def to_s_()
"Nombre:#{@nombre}\nGrasas:#{@grasas}\nGrasas Saturadas:#{@grasas_s}\nHidratos:#{@hidratos}\nAzúcares:#{@azucares}\nNombre:#{@proteinas}\nSal:#{@sal}\nGrasas Monoinsaturasas:#{@grasas_mon}\nGrasas Polisaturadas:#{@grasas_pol}\nPolialcoholes:#{@polialcoholes}\nAlmidon:#{@almidon}\nFibra:#{@fibra}\nVitaminas:#{@vitaminas}\nMinerales:#{@minerales}\nEnergía (Kj):#{@kj}\nEnergía (Kcal):#{@kcal}\n"
end

Expand Down
109 changes: 64 additions & 45 deletions lib/gema/menu.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def initialize(nombre, &block)
end

end
end


def titulo(name)
@titulo = name
Expand All @@ -34,27 +34,27 @@ def ingesta(options = {} )

def valor_energetico_total

@valor_energetico += @desayuno.map{|x| x.valor_energetico}.reduce(:+)
@valor_energetico += @almuerzo.map{|x| x.valor_energetico}.reduce(:+)
@valor_energetico += @cena.map{|x| x.valor_energetico}.reduce(:+)
@valor_energetico = @desayuno.map{|x| x.kcal}.reduce(:+)
@valor_energetico += @almuerzo.map{|x| x.kcal}.reduce(:+)
@valor_energetico += @cena.map{|x| x.kcal}.reduce(:+)

end

def desayuno(descripcion, options = {})

grasas = options[:grasas] ? options[:grasas] : 0
grasas_s = options[:grasas_s] ? options[:grasas_s] : 0
hidratos = options[:hidratos] ? options[:hidratos] : 0
azucares = options[:azucares] ? options[:azucares] : 0
proteinas = options[:proteinas] ? options[:proteinas] : 0
sal = options[:sal] ? options[:sal] : 0
grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0
grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0
polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0
almidon = options[:almidon] ? options[:almidon] : 0
fibra = options[:fibra] ? options[:fibra] : 0
vitaminas = options[:vitaminas] ? options[:vitaminas] : 0
minerales = options[:minerales] ? options[:minerales] : 0
grasas = options[:grasas] ? options[:grasas] : 0.0
grasas_s = options[:grasas_s] ? options[:grasas_s] : 0.0
hidratos = options[:hidratos] ? options[:hidratos] : 0.0
azucares = options[:azucares] ? options[:azucares] : 0.0
proteinas = options[:proteinas] ? options[:proteinas] : 0.0
sal = options[:sal] ? options[:sal] : 0.0
grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0.0
grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0.0
polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0.0
almidon = options[:almidon] ? options[:almidon] : 0.0
fibra = options[:fibra] ? options[:fibra] : 0.0
vitaminas = options[:vitaminas] ? options[:vitaminas] : 0.0
minerales = options[:minerales] ? options[:minerales] : 0.0

etiqueta = Etiqueta_nut.new(descripcion, grasas , grasas_s , hidratos , azucares , proteinas , sal , grasas_mon , grasas_pol , polialcoholes , almidon , fibra , vitaminas , minerales)
etiqueta.valor_energetico()
Expand All @@ -67,19 +67,19 @@ def desayuno(descripcion, options = {})
def almuerzo(descripcion ,options = {})


grasas = options[:grasas] ? options[:grasas] : 0
grasas_s = options[:grasas_s] ? options[:grasas_s] : 0
hidratos = options[:hidratos] ? options[:hidratos] : 0
azucares = options[:azucares] ? options[:azucares] : 0
proteinas = options[:proteinas] ? options[:proteinas] : 0
sal = options[:sal] ? options[:sal] : 0
grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0
grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0
polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0
almidon = options[:almidon] ? options[:almidon] : 0
fibra = options[:fibra] ? options[:fibra] : 0
vitaminas = options[:vitaminas] ? options[:vitaminas] : 0
minerales = options[:minerales] ? options[:minerales] : 0
grasas = options[:grasas] ? options[:grasas] : 0.0
grasas_s = options[:grasas_s] ? options[:grasas_s] : 0.0
hidratos = options[:hidratos] ? options[:hidratos] : 0.0
azucares = options[:azucares] ? options[:azucares] : 0.0
proteinas = options[:proteinas] ? options[:proteinas] : 0.0
sal = options[:sal] ? options[:sal] : 0.0
grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0.0
grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0.0
polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0.0
almidon = options[:almidon] ? options[:almidon] : 0.0
fibra = options[:fibra] ? options[:fibra] : 0.0
vitaminas = options[:vitaminas] ? options[:vitaminas] : 0.0
minerales = options[:minerales] ? options[:minerales] : 0.0

etiqueta = Etiqueta_nut.new(descripcion, grasas , grasas_s , hidratos , azucares , proteinas , sal , grasas_mon , grasas_pol , polialcoholes , almidon , fibra , vitaminas , minerales)
etiqueta.valor_energetico()
Expand All @@ -92,19 +92,19 @@ def almuerzo(descripcion ,options = {})
def cena(descripcion ,options = {})


grasas = options[:grasas] ? options[:grasas] : 0
grasas_s = options[:grasas_s] ? options[:grasas_s] : 0
hidratos = options[:hidratos] ? options[:hidratos] : 0
azucares = options[:azucares] ? options[:azucares] : 0
proteinas = options[:proteinas] ? options[:proteinas] : 0
sal = options[:sal] ? options[:sal] : 0
grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0
grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0
polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0
almidon = options[:almidon] ? options[:almidon] : 0
fibra = options[:fibra] ? options[:fibra] : 0
vitaminas = options[:vitaminas] ? options[:vitaminas] : 0
minerales = options[:minerales] ? options[:minerales] : 0
grasas = options[:grasas] ? options[:grasas] : 0.0
grasas_s = options[:grasas_s] ? options[:grasas_s] : 0.0
hidratos = options[:hidratos] ? options[:hidratos] : 0.0
azucares = options[:azucares] ? options[:azucares] : 0.0
proteinas = options[:proteinas] ? options[:proteinas] : 0.0
sal = options[:sal] ? options[:sal] : 0.0
grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0.0
grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0.0
polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0.0
almidon = options[:almidon] ? options[:almidon] : 0.0
fibra = options[:fibra] ? options[:fibra] : 0.0
vitaminas = options[:vitaminas] ? options[:vitaminas] : 0.0
minerales = options[:minerales] ? options[:minerales] : 0.0

etiqueta = Etiqueta_nut.new(descripcion, grasas , grasas_s , hidratos , azucares , proteinas , sal , grasas_mon , grasas_pol , polialcoholes , almidon , fibra , vitaminas , minerales)
etiqueta.valor_energetico()
Expand All @@ -115,10 +115,26 @@ def cena(descripcion ,options = {})


def to_s

aux = "#{' ' * 24 }"

output = @nombre

output << " Composición nutricional"
output << "\n#{'=' * 150}\n\n"
output << "#{aux}grasas\thidratos\tazucares\tproteinas\tsal\tpolialcoholes\talmidon\tfibra\tvitaminas\tminerales\tvalor energetico\n"
output << "Desayuno\n"
output << @desayuno.join
output << "\nAlmuerzo\n"
output << @almuerzo.join
output << "\nCena\n"
output << @cena.join
output << "\n#{'=' * 150}\n\n"
output << "Valor energético total: #{valor_energetico_total}\t Ingesta mix: #{@min}\tIngesta max: #{@max}"

end
menu = Menu.new("Lunes") do
end

@menu = Menu.new("Lunes") do
titulo "Bajo en calorias"

ingesta :min => 30, :max => 35
Expand Down Expand Up @@ -174,3 +190,6 @@ def to_s
:sal => 0.13

end


puts @menu.to_s

0 comments on commit 6dbb281

Please sign in to comment.