roadforest 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,43 +0,0 @@
1
- require 'roadforest/application/route-adapter'
2
-
3
- module RoadForest
4
- module Resource
5
- module Handlers
6
- def self.registry
7
- @registry ||= {}
8
- end
9
-
10
- def self.register(handler_type, klass)
11
- registry[handler_type] = klass
12
-
13
- method_name = "#{handler_type}_model"
14
- define_method(method_name) do |model_class|
15
- if block_given?
16
- bundle_model(klass, model_class){|model| yield(model)}
17
- else
18
- bundle_model(klass, model_class)
19
- end
20
- end
21
- end
22
-
23
- def bundle(resource_class, &block)
24
- Application::RouteAdapter.new(resource_class, &block)
25
- end
26
-
27
- def bundle_typed_resource(resource_type, model_class, route_name)
28
- resource_class = Resource::Handlers.registry.fetch(resource_type)
29
- bundle(resource_class) do |resource, request, response|
30
- resource.model = model_class.new(route_name, resource.params, services)
31
- end
32
- end
33
-
34
- def bundle_traced_resource(resource_type, model_class, route_name)
35
- resource_class = Resource::Handlers.registry.fetch(resource_type)
36
- bundle(resource_class) do |resource, request, response|
37
- resource.model = model_class.new(route_name, resource.params, services)
38
- resource.trace = true
39
- end
40
- end
41
- end
42
- end
43
- end