class Template::InstallGenerator

Public Class Methods

source_root() click to toggle source

I can later access that option using: options

# File lib/generators/template/install_generator.rb, line 14
def self.source_root
  @source_root ||= File.join(File.dirname(__FILE__), 'templates')
end

Public Instance Methods

add_routes() click to toggle source
# File lib/generators/template/install_generator.rb, line 29
def add_routes
    route 'root :to => "welcome#index"'
end
copy_template_files() click to toggle source

Generator Code. Remember this is just suped-up Thor so methods are executed in order

# File lib/generators/template/install_generator.rb, line 20
def copy_template_files
    copy_file 'app/controllers/welcome_controller.rb','app/controllers/welcome_controller.rb'
    template 'app/views/layouts/application.html.erb'
    template 'app/views/welcome/index.html.erb'
    template 'config/database.yml'
    template 'public/stylesheets/screen.css'
end
generate_navigation() click to toggle source
# File lib/generators/template/install_generator.rb, line 33
def generate_navigation
    generate('navigation_config',"--force")
    @navigation = ''
    while !(controller_name = ask("Enter controller name: [no more controllers]")).blank? do
      c_name = controller_name.scan(/\w+/)[0] #get only first arg.
      generate('controller', c_name+' show') #TODO: push all other args onto end.
      @navigation += 'primary.item :'+controller_name.downcase+' ,\''+controller_name.capitalize+'\', '+controller_name.downcase+'_show_url'+'
      '
    end
    template 'config/navigation.rb'
end
run_post_install_scripts() click to toggle source
# File lib/generators/template/install_generator.rb, line 50
def run_post_install_scripts
  begin
    sh 'rm public/index.html' #todo other OS.
    sh 'rake db:setup'
  rescue
    puts '----- Unable to run post install scripts. You need to: -------'
    puts '|     -  Remove index file in index.html                     |'
    puts '|     -  Run rake db:setup                                   |'
    puts '|     -  Start your server: rails server                     |'
    puts '---------------------------------------------------------------'
  end
end
setup_db() click to toggle source
# File lib/generators/template/install_generator.rb, line 46
def setup_db
    plugin('easypg', :git=>'git://github.com/rahim/easypg.git')
end