lib/scrivito/link_parser.rb in scrivito_sdk-1.0.0 vs lib/scrivito/link_parser.rb in scrivito_sdk-1.1.0.rc1

- old
+ new

@@ -61,24 +61,29 @@ uri.host == @host end end def find_obj(uri) - return nil unless application_uri?(uri) && application_route?(uri) + return nil unless application_uri?(uri) - route_params = route(uri) + route_params = obj_route_params(uri) if id = route_params[:id] Obj.find(id) elsif permalink = route_params[:permalink] Obj.find_by_permalink(permalink) end rescue Scrivito::ResourceNotFound end - def application_route?(uri) - route_params = route(uri) - route_params && route_params[:controller] == 'scrivito/cms_dispatch' + def obj_route_params(uri) + dispatch_route_for(sdk_route(uri)) || dispatch_route_for(route(uri)) || {} + end + + def dispatch_route_for(route_params) + if route_params && route_params[:controller] == 'scrivito/cms_dispatch' + route_params + end end def sdk_route(uri) Scrivito::SdkEngine.routes.recognize_path(uri.to_s, method: :get) rescue ActionController::RoutingError