38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/utopia/wiki.rb', line 38
def self.call(builder, root = Dir.pwd, locales: nil)
if UTOPIA.production?
builder.use Utopia::Exceptions::Handler
builder.use Utopia::Exceptions::Mailer
else
builder.use Rack::ShowExceptions unless UTOPIA.testing?
end
public_root = File.expand_path("public", root)
builder.use Utopia::Static, root: public_root
builder.use Utopia::Static, root: PUBLIC_ROOT
builder.use Utopia::Redirection::Rewrite, {
'/' => '/index'
}
builder.use Utopia::Redirection::DirectoryIndex
builder.use Utopia::Redirection::Errors, {
404 => '/errors/file-not-found'
}
if locales
builder.use Utopia::Localization,
default_locale: locales.first,
locales: locales
end
builder.use Utopia::Controller, root: PAGES_ROOT
cache_root = File.expand_path("_gallery", root)
builder.use Utopia::Content, root: PAGES_ROOT, namespaces: {
'gallery' => Utopia::Gallery::Tags.new
}
builder.run lambda { |env| [404, {}, []] }
end
|