roadforest 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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