Class: RubyUIAdmin::ResourceManager
- Inherits:
-
Object
- Object
- RubyUIAdmin::ResourceManager
- Defined in:
- lib/ruby_ui_admin/resource_manager.rb
Overview
Discovers and indexes the host app's resources (defined under
RubyUIAdmin::Resources in app/ruby_ui_admin/resources).
Instance Method Summary collapse
- #boot ⇒ Object
-
#find_by_route_key(key) ⇒ Object
Find a resource class by its route key, e.g.
-
#find_for_model(model_class) ⇒ Object
Find the resource class for a given model class.
-
#navigation_resources ⇒ Object
All resources visible in the sidebar navigation.
- #resources ⇒ Object
Instance Method Details
#boot ⇒ Object
9 10 11 12 |
# File 'lib/ruby_ui_admin/resource_manager.rb', line 9 def boot @resources = nil self end |
#find_by_route_key(key) ⇒ Object
Find a resource class by its route key, e.g. "buyers".
24 25 26 27 28 |
# File 'lib/ruby_ui_admin/resource_manager.rb', line 24 def find_by_route_key(key) key = key.to_s resources.find { |resource| resource.route_key == key } || resources.find { |resource| resource.resource_name == key.singularize } end |
#find_for_model(model_class) ⇒ Object
Find the resource class for a given model class.
31 32 33 34 35 36 |
# File 'lib/ruby_ui_admin/resource_manager.rb', line 31 def find_for_model(model_class) mapped = RubyUIAdmin.configuration.model_resource_mapping[model_class.to_s] return mapped.to_s.constantize if mapped resources.find { |resource| resource.model_class == model_class } end |
#navigation_resources ⇒ Object
All resources visible in the sidebar navigation.
19 20 21 |
# File 'lib/ruby_ui_admin/resource_manager.rb', line 19 def resources.select { |resource| resource. } end |
#resources ⇒ Object
14 15 16 |
# File 'lib/ruby_ui_admin/resource_manager.rb', line 14 def resources @resources ||= fetch_resources end |