Sha256: 08295edc3884ad5ac4aea77038f4457faa3c694da6a8f1e42aef7f8ea1b9d1ac
Contents?: true
Size: 896 Bytes
Versions: 2
Compression:
Stored size: 896 Bytes
Contents
class PlatoDSL attr_accessor :nombre, :alimentos def initialize(nombre, &block) @nombre = nombre @alimentos = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end def alimento(nombre, options = {}) alimento = nombre alimento << " (Gr: #{options[:gramos]} gr)" if options[:gramos] alimento << " (Pr: #{options[:proteinas]} gr)" if options[:proteinas] alimento << " (Hd: #{options[:hidratos]} gr)" if options[:hidratos] alimento << " (Lp: #{options[:lipidos]} gr)" if options[:lipidos] alimento << " (CO2: #{options[:gases]} kg/año)" if options[:gases] alimento << " (Terreno: #{options[:terreno]} m2/año)\n" if options[:terreno] @alimentos << alimento end def to_s salida = @nombre salida << "\n#{'=' * @nombre.size}\n\n" salida << "Alimentos: - #{@alimentos.join('- ')}\n\n" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
feeding-0.2.0 | lib/feeding/platoDSL.rb |
feeding-0.1.0 | lib/feeding/platoDSL.rb |