Sha256: db6935a8b662b03b16c492a6e06f3113ff0d9cba0c4aa44e7257e6d009405c74
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
module Alimento class PlatoDSL require "alimento" attr_reader :nombre, :descripcion_plato, :componentes, :gramos, :alimentos, :platito def initialize(nombre, &block) @nombre = nombre @componentes = [] @gramos = [] @platito @list if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end def descripcion(descr) @descripcion_plato = descr end def alimento(options = {}) @componentes << options[:alimento] @gramos << options[:gramos] if options[:gramos] end def platillo @list = List.new(@componentes[0]) for i in (1..@componentes.length - 1) @list.insert_head(@componentes[i]) end @platito = PlatoAmbiental.new(@nombre, @list, @gramos) end def to_s if @platillo == nil platillo() end i = 0 aux = "Nombre: #{@nombre}" aux += "\nComponentes: " @componentes.each { |val| aux += "\n\t#{val.nombre}" aux += "\n\tGramos: #{@gramos[i]}" i += 1 } aux end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alimento_alu0101050218-0.1.0 | lib/alimento/platoDSL.rb |