Sha256: f2cba901b54b3e201e937a097b9db57ce2b70b4df56f9d25ab602078cae77f4a

Contents?: true

Size: 1.92 KB

Versions: 2

Compression:

Stored size: 1.92 KB

Contents

#!/usr/bin/env ruby
require 'fileutils'

if !ARGV[0]
	puts "Please specify the name of a new directory to create & trivialize"
	exit 1
end

class Installer
	def initialize(dest_dir)
		@dest_dir = dest_dir
	end

	def self.go(dest_dir, &block)
		installer = Installer.new(dest_dir)
		installer.instance_eval &block
	end

	def mk_mydir
		FileUtils.mkdir @dest_dir if (!File.directory? @dest_dir)
	end

	def mkdir(dirs)
		dirs.each do |dir|
			FileUtils.mkdir File.join(@dest_dir, dir) if (!File.directory? File.join(@dest_dir, dir))
		end
	end

	def dest_path(*dest)
		File.join(@dest_dir, *dest)
	end

	def paths_to_a(*paths)
		paths.collect do |path|
			if path.kind_of? String
				path = path.split('/')
			end
      path
		end
	end

	def overwrite(source, dest = nil)
		dest = source if (dest == nil)
    source, dest = paths_to_a source, dest
    source_path = File.join(File.dirname(__FILE__), '..', *source)
    if File.directory? source_path
      FileUtils.cp_r source_path, dest_path(*dest)
    else
		  FileUtils.cp source_path, dest_path(*dest)
    end
	end

	def copy(source, dest = nil)
		dest = source if (dest == nil)
    source, dest = paths_to_a source, dest
		if !File.exists? dest_path(*dest)
			overwrite(source, dest)
		else
			puts "Won't overwrite existing #{dest_path(*dest)}!"
		end
  end
end

if ARGV[0] == '--upgrade'
	puts "Upgrading to latest version..."

	Installer.go(Dir.pwd) do
    mkdir %w{config}

		overwrite 'lib/trivial.php'
    copy 'config/trivial.inc'
	end

  puts "Done!"
else
	puts "Trivializing #{ARGV[0]}"

	Installer.go(ARGV[0]) do
    mk_mydir
    mkdir %w{content actions views scripts styles lib config}

		copy 'lib/trivial.php'
    copy 'config/trivial.inc'
    copy 'dist/htaccess.dist', '.htaccess'
    copy 'views/application.inc'
    copy 'content/index.html'
    copy 'styles/application.css'
    overwrite 'styles/blueprint'
	end

	puts "Done! Make sure you can use .htaccess files in your Webserver setup."
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
trivial-0.0.7 bin/trivialize
trivial-0.0.6 bin/trivialize