Sha256: dc14f98d571ad4746fd51bf51075e93faedf45bdcb0cf04b64283881a3b4abc3
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
class Plato_DSL attr_reader :nombre_plato, :lista_alimentos include Comparable def <=>(anOther) self.porcentaje_proteinas <=> anOther.porcentaje_proteinas end def initialize(nombre_plato, &block) #@nombre_plato = nombre_plato @lista_alimentos = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end def nombre (n) @nombre_plato = n end def alimento(descripcion, gramos = {}) alimento = "\n - " + descripcion alimento << "\n Información nutricional:" alimento << " || Cantidad: #{gramos[:Gramos]} gramos ||" if gramos[:Gramos] alimento << " Proteínas: #{gramos[:Proteinas]} gramos ||" if gramos[:Proteinas] alimento << " Hidratos: #{gramos[:Hidratos]} gramos ||" if gramos[:Hidratos] alimento << " Lípidos: #{gramos[:Lipidos]} gramos" if gramos[:Lipidos] alimento << "\n Información ambiental:" alimento << " Gases anuales: #{gramos[:Gases]} kilogramos ||" if gramos[:Gases] alimento << " Uso del terreno: #{gramos[:Terreno]} metros cuadrados" if gramos[:Gases] @lista_alimentos << alimento end def to_s output = @nombre_plato output << "\n#{'=' * @nombre_plato.size}\n\n" output << "Alimentos: \n #{@lista_alimentos.join(' ')}\n\n" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alimentacion-0.1.0 | lib/alimentacion/plato_dsl.rb |