/
setup.rb
51 lines (42 loc) · 1 KB
/
setup.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
require 'sinatra/base'
require 'sinatra/contrib/version'
module Sinatra
module Contrib
module Loader
def extensions
@extensions ||= {:helpers => [], :register => []}
end
def register(name, path)
autoload name, path, :register
end
def helpers(name, path)
autoload name, path, :helpers
end
def autoload(name, path, method = nil)
extensions[method] << name if method
Sinatra.autoload(name, path)
end
def registered(base)
@extensions.each do |method, list|
list = list.map { |name| Sinatra.const_get name }
base.send(method, *list) unless base == ::Sinatra::Application
end
end
end
module Common
extend Loader
end
module Custom
extend Loader
end
module All
def self.registered(base)
base.register Common, Custom
end
end
extend Loader
def self.registered(base)
base.register Common, Custom
end
end
end