Class: Utopia::Bootstrap

Inherits:
Object
  • Object
show all
Defined in:
lib/utopia/setup.rb

Instance Method Summary collapse

Constructor Details

#initialize(config_root) ⇒ Bootstrap



23
24
25
# File 'lib/utopia/setup.rb', line 23

def initialize(config_root)
	@config_root = config_root
end

Instance Method Details

#environment_pathObject



37
38
39
# File 'lib/utopia/setup.rb', line 37

def environment_path
	File.expand_path('environment.yaml', @config_root)
end

#setupObject



27
28
29
30
31
32
33
34
35
# File 'lib/utopia/setup.rb', line 27

def setup
	setup_encoding
	
	setup_environment
	
	setup_load_path
	
	require_relative '../utopia'
end

#setup_encodingObject



41
42
43
44
45
# File 'lib/utopia/setup.rb', line 41

def setup_encoding
	# If you don't specify these, it's possible to have issues when encodings mismatch on the server.
	Encoding.default_external = Encoding::UTF_8
	Encoding.default_internal = Encoding::UTF_8
end

#setup_environmentObject



47
48
49
50
51
52
53
54
55
56
57
# File 'lib/utopia/setup.rb', line 47

def setup_environment
	if File.exist? environment_path
		require 'yaml'
		
		# Load the YAML environment file:
		environment = YAML.load_file(environment_path)
		
		# Update the process environment:
		ENV.update(environment)
	end
end

#setup_load_pathObject



59
60
61
62
# File 'lib/utopia/setup.rb', line 59

def setup_load_path
	# Allow loading library code from lib directory:
	$LOAD_PATH << File.expand_path('../lib', @config_root)
end