namespace :pfeed do

desc 'Sets up parolkar\'s pfeed plugin '
task :setup do
   root = "#{Rails.root}"
  raise 'pfeed plugin was only tested on unix & windows' if ! Rake.application.unix? &&  ! Rake.application.windows?

  if ! File.exists?("#{root}/vendor/plugins/inflectionist")
    puts "Inflectionist plugin is required by pfeed, while you dont seem to have it installed \n Attempting to install..."
    system "#{root}/script/rails plugin install git://github.com/parolkar/inflectionist.git "
  end

  raise '...something went wrong please install http://github.com/parolkar/inflectionist first!' if ! File.exists?("#{root}/vendor/plugins/inflectionist")

  files_to_be_copied = [
    {:source => "/vendor/plugins/pfeed/db/migrate/0000_create_pfeed_items.rb", :target => "/db/migrate/#{migration_timestamp}_create_pfeed_items.rb" },
     {:source => "/vendor/plugins/pfeed/db/migrate/0001_create_pfeed_deliveries.rb", :target => "/db/migrate/#{migration_timestamp}_create_pfeed_deliveries.rb" }
    ]

  FileUtils.mkdir_p("#{root}/db/migrate") unless File.exists?("#{root}/db/migrate")
  files_to_be_copied.each {|ftbc|
    FileUtils.cp_r(root+ftbc[:source], root+ftbc[:target]) #:force => true)
    puts "Created : #{ftbc[:target]}"
  }

  puts "Running \"rake db:migrate\" for you..."
  Rake::Task["db:migrate"].invoke

  welcome_screen

end

def migration_timestamp
  sleep (1)
  Time.now.utc.strftime("%Y%m%d%H%M%S")

end  

def welcome_screen

mesg = <<HERE

Congratulations for setting the plugin!

HERE

puts mesg      
end

end