Class: Utopia::Setup

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

Overview

Used for setting up a Utopia web application, typically via ‘config/environment.rb`

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(root, **options) ⇒ Setup

Returns a new instance of Setup.



16
17
18
# File 'lib/utopia/setup.rb', line 16

def initialize(root, **options)
	@root = root
end

Instance Attribute Details

#rootObject (readonly)

Returns the value of attribute root.



20
21
22
# File 'lib/utopia/setup.rb', line 20

def root
  @root
end

Instance Method Details

#apply!Object



60
61
62
63
64
65
66
# File 'lib/utopia/setup.rb', line 60

def apply!
	add_load_path('lib')
	
	apply_environment
	
	require_relative '../utopia'
end

#config_rootObject



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

def config_root
	File.expand_path("config", @root)
end

#development?Boolean

Returns:

  • (Boolean)


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

def development?
	Variant.for(:utopia) == :development
end

#production?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/utopia/setup.rb', line 30

def production?
	Variant.for(:utopia) == :production
end

#secret_for(key) ⇒ Object



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

def secret_for(key)
	secret = ENV["UTOPIA_#{key.upcase}_SECRET"]
	
	if secret.nil? || secret.empty?
		secret = SecureRandom.hex(32)
		
		Console.warn(self) do
			"Generating transient #{key} secret: #{secret.inspect}"
		end
	end
	
	return secret
end

#site_rootObject



26
27
28
# File 'lib/utopia/setup.rb', line 26

def site_root
	@root
end

#staging?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/utopia/setup.rb', line 34

def staging?
	Variant.for(:utopia) == :staging
end

#testing?Boolean

Returns:

  • (Boolean)


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

def testing?
	Variant.for(:utopia) == :testing
end