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
61
62
63
64
65
|
# File 'lib/objectsframework/object_handler.rb', line 9
def self.run_methods(request,response,context)
path = request.path
parts = path.split("/")
if(path == "/" && !context.config[:root].nil?)
klass = Object.const_get(context.config[:root]).new
klass.set_instance_variables(request,response,context.env)
captured_result = captured?(klass)
if(captured_result != 0)
return captured_result
end
Hooks.fire("object.before_execute", klass)
klass.send(request.request_method.downcase!+"_"+context.config[:index_method])
return true
end
begin
klass = Object.const_get(parts[1].capitalize).new.set_instance_variables(request,response,context.env)
captured_result = captured?(klass)
if(captured_result != 0)
return captured_result
end
Hooks.fire("object.before_execute", klass)
if(parts[3].nil?)
if(path[path.length-1] == "/" || parts.length == 2)
klass.send(request.request_method.downcase!+"_index");
else
klass.send(request.request_method.downcase!+"_"+parts[2])
end
else
klass.send(request.request_method.downcase!+"_"+parts[2],*parts[3..parts.length])
end
rescue Exception => e
begin
obj = Object.const_get(context.config[:root]).new.set_instance_variables(request,response,context.env)
captured_result = captured?(obj)
if(captured_result != 0)
return captured_result
end
Hooks.fire("object.before_execute", obj)
obj.send(request.request_method.downcase!+"_"+parts[1])
return true
rescue
end
response.status = 404
notfound_response(response,e)
end
return true
end
|