Class: Releaf::Root::DefaultControllerResolver
- Inherits:
-
Object
- Object
- Releaf::Root::DefaultControllerResolver
- Includes:
- Service
- Defined in:
- lib/releaf/root/default_controller_resolver.rb
Instance Method Summary collapse
- #call ⇒ Object
- #controller_index_path(controller_name) ⇒ Object
- #controllers ⇒ Object
- #route_exists?(route_options) ⇒ Boolean
- #route_path(route_options) ⇒ Object
- #subdomain ⇒ Object
Instance Method Details
#call ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/releaf/root/default_controller_resolver.rb', line 6 def call controllers.each do |controller_name| path = controller_index_path(controller_name) return path if path end nil end |
#controller_index_path(controller_name) ⇒ Object
15 16 17 18 19 |
# File 'lib/releaf/root/default_controller_resolver.rb', line 15 def controller_index_path(controller_name) = {controller: controller_name, action: "index"} subdomain.present? && route_path(.merge(subdomain: subdomain)) || route_path() end |
#controllers ⇒ Object
25 26 27 |
# File 'lib/releaf/root/default_controller_resolver.rb', line 25 def controllers Releaf.application.config.available_controllers end |
#route_exists?(route_options) ⇒ Boolean
29 30 31 |
# File 'lib/releaf/root/default_controller_resolver.rb', line 29 def route_exists?() Rails.application.routes.routes.map(&:defaults).include?() end |
#route_path(route_options) ⇒ Object
21 22 23 |
# File 'lib/releaf/root/default_controller_resolver.rb', line 21 def route_path() Rails.application.routes.url_helpers.url_for(.merge(only_path: true)) if route_exists?() end |
#subdomain ⇒ Object
33 34 35 |
# File 'lib/releaf/root/default_controller_resolver.rb', line 33 def subdomain current_controller.request.subdomain end |