Class: OrigenAppGenerators::Base

Inherits:
Origen::CodeGenerators::Base
  • Object
show all
Includes:
Origen::Utility::InputCapture
Defined in:
lib/origen_app_generators/base.rb

Overview

This is the base generator used by all generators in this application

Direct Known Subclasses

Application, New

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.titleObject



52
53
54
# File 'lib/origen_app_generators/base.rb', line 52

def self.title
  desc.sub(/^An? /, '').titleize
end

Instance Method Details

#get_common_user_inputObject



28
29
30
31
# File 'lib/origen_app_generators/base.rb', line 28

def get_common_user_input
  get_name_and_namespace
  # get_revision_control
end

#get_lastest_origen_versionObject



33
34
35
# File 'lib/origen_app_generators/base.rb', line 33

def get_lastest_origen_version
  @latest_origen_version = (Gems.info 'origen')['version']
end

#set_source_pathsObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/origen_app_generators/base.rb', line 8

def set_source_paths
  # The base Origen generator puts the Origen core directory on the source path, in retrospect this
  # was a bad idea and makes for hard to debug errors if an app generator resolves a template from
  # outside of this app.
  # So to keep things sane remove any inherited source paths.
  self.class.source_paths.pop until self.class.source_paths.empty?
  klass = self.class
  until klass == OrigenAppGenerators::Base
    dir = klass.to_s.sub('OrigenAppGenerators::', '').split('::').map(&:underscore).join('/')
    dir = File.expand_path("../../../templates/app_generators/#{dir}", __FILE__)
    self.class.source_paths << dir if File.exist?(dir)
    klass = klass.superclass
  end
end

#set_typeObject

Just makes the type (:plugin or :application) available to all templates



24
25
26
# File 'lib/origen_app_generators/base.rb', line 24

def set_type
  @type = type
end