0
+# Generate a rails app (using EDGE rails), set up a git repo for it, install GemsOnRails,
0
+# haml, rspec, and the rspec-haml-scaffold generator
0
+# USAGE: $0 some_app_name
0
+RAILS_SVN_CHECKOUT = '/Users/foca/Rails/_rails'
0
+ print "." * (LINE - msg.size - 6)
0
+ puts "\e[32m[DONE]\e[0m"
0
+ system "#{command} &> /dev/null"
0
+ { :gitignore => %w[config/database.yml tmp/* log/*.log db/*.sqlite3 db/schema.rb public/stylesheets/application.css] * "\n",
0
+ :routes => ["ActionController::Routing::Routes.draw do |map|", "end"] * "\n" }
0
+ silent "git commit -m '#{message}'"
0
+ def braid(repo, dir, type="svn")
0
+ silent "braid add #{repo} --type #{type} #{dir}"
0
+ silent "git merge braid/track"
0
+ def rake(task, args={})
0
+ args = args.inject("") do |list, (name, value)|
0
+ list << "#{name.to_s.upcase}=#{value}"
0
+ silent "rake #{task} #{args}"
0
+ announcing "Fetching EDGE rails" do
0
+ Dir.chdir(RAILS_SVN_CHECKOUT) { silent "svn update" }
0
+ announcing "Creating application layout" do
0
+ silent "ruby #{RAILS_SVN_CHECKOUT}/railties/bin/rails #{app_name}"
0
+ Dir.chdir(app_name) do
0
+ announcing "Setting up rails app" do
0
+ silent "rm public/index.html"
0
+ silent "rm public/images/rails.png"
0
+ silent "cp config/database.{,sample.}yml"
0
+ File.open("config/routes.rb", "w") {|f| f << templates[:routes] }
0
+ announcing "Creating databases" do
0
+ rake "db:create", :rails_env => "test"
0
+ announcing "Configuring git repo" do
0
+ File.open(".gitignore", "w") {|f| f << templates[:gitignore] }
0
+ silent "touch {tmp,log}/.gitignore"
0
+ git "Basic rails app structure"
0
+ announcing "Freezing rails" do
0
+ braid "http://dev.rubyonrails.org/svn/rails/trunk", "vendor/rails"
0
+ announcing "Installing GemsOnrails" do
0
+ git "Froze GemsOnRails plugin"
0
+ announcing "Installing haml" do
0
+ silent "haml --rails ."
0
+ rake "gems:freeze", :gem => "haml"
0
+ git "Froze haml gem and plugin"
0
+ announcing "Installing RSpec" do
0
+ braid "http://rspec.rubyforge.org/svn/trunk/rspec", "vendor/plugins/rspec"
0
+ braid "http://rspec.rubyforge.org/svn/trunk/rspec_on_rails", "vendor/plugins/rspec_on_rails"
0
+ announcing "Generating RSpec base files" do
0
+ silent "script/generate rspec"
0
+ git "Added RSpec base files"
0
+ announcing "Installing make_resourceful" do
0
+ braid "http://svn.hamptoncatlin.com/make_resourceful/trunk", "vendor/plugins/make_resourceful"
Comments
No one has commented yet.