Module: Utopia::Setup

Defined in:
lib/utopia/setup.rb

Constant Summary collapse

ROOT =
File.join(File.dirname(__FILE__), "setup", "")
DIRECTORIES =
["access_log", "cache", "cache/meta", "cache/body", "lib", "pages", "public"]

Class Method Summary collapse

Class Method Details

.copy(to, config = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/utopia/setup.rb', line 12

def self.copy(to, config = {})
	$stderr.puts "Copying files from #{ROOT} to #{to}..."
	Find.find(ROOT) do |src|
		dst = File.join(to, src[ROOT.size..-1])
		
		if File.directory?(src)
			FileUtils.mkdir_p(dst)
		else
			if File.exist? dst
				$stderr.puts "File already exists: #{dst}!"
			else
				$stderr.puts "Copying #{src} to #{dst}..."
				FileUtils.cp(src, dst)
			end
		end
	end
	
	DIRECTORIES.each do |path|
		FileUtils.mkdir_p(File.join(to, path))
	end
	
	$stderr.puts "Updating config.ru..."
	config_ru = File.join(to, "config.ru")
	buf = File.read(config_ru).gsub('$UTOPIA_VERSION', Utopia::VERSION::STRING.dump)
	File.open(config_ru, "w") { |fp| fp.write(buf) }
end