-
Notifications
You must be signed in to change notification settings - Fork 4
/
app.rb
57 lines (46 loc) · 1.22 KB
/
app.rb
1
2
3
4
5
6
7
8
9
10
11
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
require 'roda'
require 'sequel'
require 'wedge'
require 'shield'
class TestApp < Roda
plugin :environments
plugin :multi_route
plugin :empty_root
configure :development do
require 'pry'
require 'awesome_print'
end
plugin :wedge,
scope: self,
skip_call_middleware: true,
assets_url: "/assets/wedge/wedge",
plugins: [:form],
gzip_assets: true
plugin :sprocket_assets,
root: Dir.pwd,
public_path: "#{Dir.pwd}/public",
prefix: %w`app/ app/assets public/assets bower_components/`,
debug: development?,
opal: true
configure :development do
require 'better_errors'
# Include middlware
use BetterErrors::Middleware
# Show better errors for any ip
BetterErrors::Middleware.allow_ip! "0.0.0.0/0"
end
route do |r|
# Load the todo app
r.root { wedge(:todo).to_js :display }
# Handles wedge calls
r.wedge_assets
# Handles all assets
r.sprocket_assets
# https://github.com/jeremyevans/roda/blob/master/lib/roda/plugins/multi_route.rb
r.multi_route
end
end
# Path to project folders
GLOB = "**/{lib,config,routes,models,forms,components}/*.rb"
# Load folders
Dir[GLOB].each { |file| require_relative file }