Sha256: a5cbdf42d25872e34f3891efcf7f56b829ef770dc8818232420f97d50aae557c

Contents?: true

Size: 1.15 KB

Versions: 82

Compression:

Stored size: 1.15 KB

Contents

module Origen
  class Generator
    class Resources
      attr_accessor :top_level

      def create(options = {}, &block)
        # Refresh the target to start all settings from scratch each time
        # This is an easy way to reset all registered values
        Origen.app.reload_target!
        Origen.tester.generating = :program
        sub_flow = @top_level
        @top_level = true unless @top_level
        job.output_file_body = options.delete(:name).to_s if options[:name]
        if sub_flow
          interface = Origen.interface
          interface.resources_mode do
            opts = Origen.generator.option_pipeline.pop || {}
            interface.instance_exec(opts, &block)
          end
          interface.close(sub_resource: true)
        else
          Origen.log.info "Generating... #{Origen.file_handler.current_file.basename}"
          interface = Origen.reset_interface(options)
          interface.resources_mode do
            interface.instance_eval(&block)
          end
          interface.close
        end
      end

      def reset
        @top_level = false
      end

      def job
        Origen.app.current_job
      end
    end
  end
end

Version data entries

82 entries across 82 versions & 1 rubygems

Version Path
origen-0.4.2 lib/origen/generator/resources.rb
origen-0.4.1 lib/origen/generator/resources.rb
origen-0.4.0 lib/origen/generator/resources.rb
origen-0.3.0 lib/origen/generator/resources.rb
origen-0.2.6 lib/origen/generator/resources.rb
origen-0.2.5 lib/origen/generator/resources.rb
origen-0.2.4 lib/origen/generator/resources.rb
origen-0.2.3 lib/origen/generator/resources.rb
origen-0.2.2 lib/origen/generator/resources.rb
origen-0.2.1 lib/origen/generator/resources.rb
origen-0.2.0 lib/origen/generator/resources.rb
origen-0.1.3 lib/origen/generator/resources.rb
origen-0.1.2 lib/origen/generator/resources.rb
origen-0.1.1 lib/origen/generator/resources.rb
origen-0.1.0 lib/origen/generator/resources.rb
origen-0.0.9 lib/origen/generator/resources.rb
origen-0.0.8 lib/origen/generator/resources.rb
origen-0.0.6 lib/origen/generator/resources.rb
origen-0.0.5 lib/origen/generator/resources.rb
origen-0.0.4 lib/origen/generator/resources.rb