Class: Wallaby::Map
- Inherits:
-
Object
- Object
- Wallaby::Map
- Defined in:
- lib/services/wallaby/map.rb,
lib/services/wallaby/map/mode_mapper.rb,
lib/services/wallaby/map/model_class_mapper.rb,
lib/services/wallaby/map/model_class_collector.rb
Overview
Global storage of all the maps for model classes
Defined Under Namespace
Classes: ModeMapper, ModelClassCollector, ModelClassMapper
Class Method Summary collapse
-
.clear ⇒ Object
Clear all the class variables to nil.
-
.controller_map(model_class) ⇒ Object
{ model => controller }.
-
.mode_map ⇒ Object
{ model => mode }.
-
.model_class_map(resources_name) ⇒ Object
{ resources name => model }.
-
.model_classes ⇒ Object
[ model classes ].
-
.model_decorator_map(model_class) ⇒ Object
{ model => model decorator }.
-
.pagination_provider_map(model_class) ⇒ Object
{ model => pagination_provider }.
-
.paginator_map(model_class) ⇒ Object
{ model => paginator }.
-
.resource_decorator_map(model_class) ⇒ Object
{ model => resource decorator }.
-
.resources_name_map(model_class) ⇒ Object
{ model => resources name }.
-
.service_provider_map(model_class) ⇒ Object
{ model => service_provider }.
-
.servicer_map(model_class) ⇒ Object
{ model => servicer }.
Class Method Details
.clear ⇒ Object
Clear all the class variables to nil
83 84 85 86 87 88 |
# File 'lib/services/wallaby/map.rb', line 83 def self.clear @mode_map, @model_classes, @controller_map, @model_decorator_map, @resource_decorator_map, @servicer_map, @service_provider_map, @paginator_map, @pagination_provider_map, @model_class_map, @resources_name_map = [] end |
.controller_map(model_class) ⇒ Object
{ model => controller }
16 17 18 19 |
# File 'lib/services/wallaby/map.rb', line 16 def self.controller_map(model_class) @controller_map ||= ModelClassMapper.new(ResourcesController).map @controller_map[model_class] ||= ResourcesController end |
.mode_map ⇒ Object
{ model => mode }
5 6 7 |
# File 'lib/services/wallaby/map.rb', line 5 def self.mode_map @mode_map ||= ModeMapper.new(Mode.subclasses).map.freeze end |
.model_class_map(resources_name) ⇒ Object
{ resources name => model }
77 78 79 80 |
# File 'lib/services/wallaby/map.rb', line 77 def self.model_class_map(resources_name) @model_class_map ||= {} @model_class_map[resources_name] ||= Utils.to_model_class resources_name end |
.model_classes ⇒ Object
- model classes
10 11 12 13 |
# File 'lib/services/wallaby/map.rb', line 10 def self.model_classes @model_classes ||= ModelClassCollector.new(::Wallaby.configuration).collect.freeze end |
.model_decorator_map(model_class) ⇒ Object
{ model => model decorator }
22 23 24 25 26 27 28 |
# File 'lib/services/wallaby/map.rb', line 22 def self.model_decorator_map(model_class) @model_decorator_map ||= {} @model_decorator_map[model_class] ||= begin mode = mode_map[model_class] mode.model_decorator.new model_class if mode end end |
.pagination_provider_map(model_class) ⇒ Object
{ model => pagination_provider }
64 65 66 67 68 |
# File 'lib/services/wallaby/map.rb', line 64 def self.pagination_provider_map(model_class) @pagination_provider_map ||= {} @pagination_provider_map[model_class] ||= mode_map[model_class].try(:model_pagination_provider) end |
.paginator_map(model_class) ⇒ Object
{ model => paginator }
56 57 58 59 60 61 |
# File 'lib/services/wallaby/map.rb', line 56 def self.paginator_map(model_class) @paginator_map ||= ModelClassMapper.new(ResourcePaginator).map @paginator_map[model_class] ||= begin ResourcePaginator if mode_map[model_class] end end |
.resource_decorator_map(model_class) ⇒ Object
{ model => resource decorator }
31 32 33 34 35 36 |
# File 'lib/services/wallaby/map.rb', line 31 def self.resource_decorator_map(model_class) @resource_decorator_map ||= ModelClassMapper.new(ResourceDecorator).map @resource_decorator_map[model_class] ||= begin ResourceDecorator if mode_map[model_class] end end |
.resources_name_map(model_class) ⇒ Object
{ model => resources name }
71 72 73 74 |
# File 'lib/services/wallaby/map.rb', line 71 def self.resources_name_map(model_class) @resources_name_map ||= {} @resources_name_map[model_class] ||= Utils.to_resources_name model_class end |
.service_provider_map(model_class) ⇒ Object
{ model => service_provider }
47 48 49 50 51 52 53 |
# File 'lib/services/wallaby/map.rb', line 47 def self.service_provider_map(model_class) @service_provider_map ||= {} @service_provider_map[model_class] ||= begin mode = mode_map[model_class] mode.model_service_provider.new model_class if mode end end |
.servicer_map(model_class) ⇒ Object
{ model => servicer }
39 40 41 42 43 44 |
# File 'lib/services/wallaby/map.rb', line 39 def self.servicer_map(model_class) @servicer_map ||= ModelClassMapper.new(ModelServicer).map @servicer_map[model_class] ||= begin ModelServicer if mode_map[model_class] end end |