FINE_PRINT_COPY_TASKS = [‘config/locales’,

'views',
'controllers']

namespace :fine_print do

namespace :install do
  desc 'Copy initializers from fine_print to application'
  task :initializers do
    Dir.glob(File.expand_path('../../../config/initializers/*.rb', __FILE__)) do |file|
      if File.exists?(File.expand_path(File.basename(file), 'config/initializers'))
        print "NOTE: Initializer #{File.basename(file)} from fine_print has been skipped. Initializer with the same name already exists.\n"
      else
        cp file, 'config/initializers', verbose: false
        print "Copied initializer #{File.basename(file)} from fine_print\n"
      end
    end
  end
end

namespace :copy do
  FINE_PRINT_COPY_TASKS.each do |path|
    name = File.basename(path)
    desc "Copy #{name} from fine_print to application"
    task name.to_sym do
      cp_r File.expand_path("../../../app/#{path}/fine_print", __FILE__),
           "app/#{path}",
           verbose: false
      print "Copied #{name} from fine_print\n"
    end
  end
end

desc 'Copy migrations from fine_print to application'
task :install do
  Rake::Task['fine_print:install:initializers'].invoke
  Rake::Task['fine_print:install:migrations'].invoke
end

desc 'Copy assets, layouts, views and controllers from fine_print to application'
task :copy do
  FINE_PRINT_COPY_TASKS.each do |path|
    Rake::Task["fine_print:copy:#{File.basename(path)}"].invoke
  end
end

end