Sha256: 1257d70c43126931a49b5019a63307913f62a2334299b24e71b6e8748d82aa1f

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require 'hobo_support/module'

module HoboSupport
  CommonTasks = classy_module do

namespace :test do

  desc "Prepare a rails application for testing"
  task :prepare_testapp, :force do |t, args|
    if args.force || !File.directory?(TESTAPP_PATH)
      remove_entry_secure( TESTAPP_PATH, true )
      sh %(#{BIN} new #{TESTAPP_PATH} --skip-wizard --skip-bundle)
      chdir TESTAPP_PATH
      if ENV['HOBODEV']
        rvmrc_path = File.join(ENV['HOBODEV'], '.rvmrc')
        if File.exist?(rvmrc_path)
          puts %(Copying .rvmrc file)
          copy_file rvmrc_path, './.rvmrc'
          sh %(rvm reload) do |ok|
            puts 'rvm command skipped' unless ok
          end
        end
      end
      sh %(bundle install)
      sh %(echo "" >> Gemfile)
      sh %(echo "gem 'irt', :group => :development" >> Gemfile) # to make the bundler happy
      sh %(echo "gem 'therubyracer'" >> Gemfile)
      sh %(echo "gem 'protected_attributes'" >> Gemfile)
      sh %(bundle install)
      sh %(echo "" > app/models/.gitignore) # because git reset --hard would rm the dir
      rm %(.gitignore) # we need to reset everything in a testapp
      sh %(git init)
      sh %(git config user.email "someone@example.com")
      sh %(git config user.name "Someone")
      sh %(git add . && git commit -m "initial commit")
      puts %(The testapp has been created in '#{TESTAPP_PATH}')
    else
      chdir TESTAPP_PATH
      sh %(git add .)
      sh %(git reset --hard -q HEAD)
    end
  end
end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hobo_support-2.1.2 lib/hobo_support/common_tasks.rb