From c23cdc565fbb3e95a36cfc4d9268e1cdd6dc1782 Mon Sep 17 00:00:00 2001 From: dborisov Date: Fri, 13 Jan 2017 17:22:07 +0300 Subject: [PATCH 1/2] fix api! method in Rails 5 --- lib/apipie/application.rb | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/apipie/application.rb b/lib/apipie/application.rb index 99daac3f3..c88210d02 100644 --- a/lib/apipie/application.rb +++ b/lib/apipie/application.rb @@ -54,14 +54,9 @@ def rails_routes(route_set = nil) # the app might be nested when using contraints, namespaces etc. # this method does in depth search for the route controller def route_app_controller(app, route, visited_apps = []) - visited_apps << app - if app.respond_to?(:controller) - return app.controller(route.defaults) - elsif app.respond_to?(:app) && !visited_apps.include?(app.app) - return route_app_controller(app.app, route, visited_apps) + if route.defaults[:controller] + (route.defaults[:controller].camelize + "Controller").constantize end - rescue ActionController::RoutingError - # some errors in the routes will not stop us here: just ignoring end def routes_for_action(controller, method, args) From b4613d24ddd43b5b34fc0d1c082530c65ae144fb Mon Sep 17 00:00:00 2001 From: dborisov Date: Fri, 13 Jan 2017 17:32:33 +0300 Subject: [PATCH 2/2] fix api! method in Rails 5 --- lib/apipie/application.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/apipie/application.rb b/lib/apipie/application.rb index c88210d02..ddec6bd34 100644 --- a/lib/apipie/application.rb +++ b/lib/apipie/application.rb @@ -57,6 +57,8 @@ def route_app_controller(app, route, visited_apps = []) if route.defaults[:controller] (route.defaults[:controller].camelize + "Controller").constantize end + rescue + # some errors in the routes will not stop us here: just ignoring end def routes_for_action(controller, method, args)