class Passages::RoutesController
Single Rails controller responsible for
collecting instance variables and rendering the Engine's main page
Public Instance Methods
routes()
click to toggle source
# File app/controllers/passages/routes_controller.rb, line 13 def routes @routes = application_routes @mount_routes = mount_routes mounted_engines = @mount_routes.keys @engine_routes = engine_routes.select do |r| mounted_engines.include?(r[:engine]) end end
Private Instance Methods
application_routes()
click to toggle source
# File app/controllers/passages/routes_controller.rb, line 28 def application_routes routes = passages_rails_routes.reject { |route| route.is_a?(MountRoute) } RouteCollection.new(routes) end
engine_routes()
click to toggle source
# File app/controllers/passages/routes_controller.rb, line 24 def engine_routes EngineRouteCollection.new(mounted_engine_routes) end
mount_routes()
click to toggle source
# File app/controllers/passages/routes_controller.rb, line 50 def mount_routes {}.tap do |mount_route_hash| passages_rails_routes.each do |route| mount_route_hash[route.engine_name] = route if route.is_a?(MountRoute) end end end
mounted_engine_routes()
click to toggle source
# File app/controllers/passages/routes_controller.rb, line 34 def mounted_engine_routes @mounted_engine_routes ||= ::Rails::Engine.subclasses.map do |engine| routes = engine.routes.routes.routes.map do |route| EngineRoute.new(route, engine.name) end { engine: engine.name, routes: routes } end.compact end
passages_rails_routes()
click to toggle source
# File app/controllers/passages/routes_controller.rb, line 44 def passages_rails_routes @passages_rails_routes ||= Rails.application.routes.routes.map do |route| Route.from_raw_route(route) end end