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