namespace :database_logic do

namespace :views do
    desc "Create views"
    task :create => :environment do
    p "Creating views"
        Dir.glob( Rails.root.join("app/sql/views/*.sql") ).sort.each do |f|
            view_name = File.basename(f).split("_").drop(1).join("_").split(".").first
            p " + Creating #{view_name}..."
            ActiveRecord::Base.connection.execute( File.read( f ).gsub("[DB]", ActiveRecord::Base.connection_config[:database]) )
        end
    end

    desc "Drop views"
    task :drop => :environment do
        Dir.glob( Rails.root.join("app/sql/views/*.sql") ).sort.each do |f|
            view_name = File.basename(f).split("_").drop(1).join("_").split(".").first
            p " - Dropping #{view_name}..."
            ActiveRecord::Base.connection.execute "drop view if exists #{ view_name }"
        end
    end

    desc "Recreate views (drop & create)"
    task :recreate => [:drop, :create] do
        p "Done!"
    end
end # views

end