-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit.lua
More file actions
60 lines (50 loc) · 1.12 KB
/
init.lua
File metadata and controls
60 lines (50 loc) · 1.12 KB
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
58
59
60
--class method
_G.class = function(super)
local superType = type(super)
local cls = nil
if superType ~= "table" then
superType = nil
super = nil
end
if super then
cls = {}
setmetatable(cls, {__index = super})
cls.super = super
else
cls = {ctor = function() end}
end
cls.__index = cls
function cls.new(...)
local instance = setmetatable({}, cls)
instance.class = cls
instance:ctor(...)
return instance
end
return cls
end
--requre file
local _include_files = {}
_G.include = function(_name)
local file = _include_files[_name]
if file then
return _include_files[_name]
end
local dir_file = ngx.var.APP_NAME .. "." .. _name
local file = _include_files[dir_file]
if file then
return file
end
--self
local ok, file = pcall(require, dir_file)
if ok then
_include_files[dir_file] = file
return file
end
--sys
local ok, file = pcall(require, _name)
if ok then
_include_files[_name] = file
return file
end
return false
end