Sha256: 59d61f4f4312aaa4e2229a888d092bb5cc64f21ef1b498e0ea2967f888cceee5
Contents?: true
Size: 1.37 KB
Versions: 2
Compression:
Stored size: 1.37 KB
Contents
require 'passages/route' require 'passages/engine_route' require 'passages/mount_route' require 'passages/route_collection' require 'passages/engine_route_collection' module Passages class RoutesController < ActionController::Base unless Passages.no_auth? http_basic_authenticate_with name: Passages.username, password: Passages.password end layout false def routes @routes = application_routes @engine_routes = engine_routes @mount_routes = mount_routes end private def engine_routes EngineRouteCollection.new(mounted_engine_routes) end def application_routes routes = passages_rails_routes.reject { |route| route.is_a?(MountRoute) } RouteCollection.new(routes) end def mounted_engine_routes @mounted_engine_routes ||= ::Rails::Engine.subclasses.map do |engine| routes = engine.routes.routes.routes.map { |route| EngineRoute.new(route, engine.name) } { engine: engine.name, routes: routes } end.compact end def passages_rails_routes @passages_rails_routes ||= Rails.application.routes.routes.map { |route| Route.from_raw_route(route) } end def mount_routes {}.tap do |_mount_routes| passages_rails_routes.each do |route| _mount_routes[route.engine_name] = route if route.is_a?(MountRoute) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
passages-1.1.0 | app/controllers/passages/routes_controller.rb |
passages-1.0.0 | app/controllers/passages/routes_controller.rb |