Sha256: b9d66313e984cdfb964c33449534ac5a72965537bfbc66eac3dff16fac3be03a

Contents?: true

Size: 1.72 KB

Versions: 2

Compression:

Stored size: 1.72 KB

Contents

require 'Rake' #need rake to be able to execute shell commands
class TemplateGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)

  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	
  
  
  def add_routes
      route 'root :to => "welcome#index"'
  end
  
  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  

  
  def setup_db
      plugin('easypg', :git=>'git://github.com/rahim/easypg.git')
  end 
  
  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  
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
template-1.3.0 lib/generators/template/template_generator.rb
template-1.2.1 lib/generators/template/template_generator.rb