Estoy intentando generar una lista de todas las rutas generadas por mi subclase de Grape :: API (MyApi).Acceso a las rutas compiladas en Grape/Rack :: Mount :: Route
puedo acercarme llamando:
MyApi.send(:route_set).instance_variable_get(:@routes)
que me da una gran variedad de objetos del estante :: :: Monte de ruta.
El único atributo del objeto de ruta que es útil es: condiciones que devuelve un hash de esta manera:
:path_info => (?-mix:\\A\\/api\\/(?<version>v1)\\/token(?:\\.(?<format>[^\\/]+))?\\Z)", "k: request_method, v: (?-mix:\\AGET\\Z)
Como se puede ver el valor del hash es una expresión regular para hacer coincidir el camino de la ruta. También puedo usar: named_captures para obtener todas las capturas con nombre propio desde la expresión regular:
{:path_info=>{:version=>0, :format=>1}, :request_method=>{}}
En última instancia lo que estoy tratando de hacer es generar una lista de todas las rutas creadas a través de uva :: API, su plena ruta, etc. . No tiene sentido para mí intentar y deconstruir la expresión regular en condiciones. ¿Hay alguna otra forma de acceder/generar una ruta legible para Rack :: Mount :: Route?
ese enlace está caído, y es para un dominio .xxx? Hmmm –
Sí, está abajo @sardaukar, pero puede acceder aquí http: //hermes-vertigem.herokuapp.com/2013/04/02/rake-routes-no-grape/Me fijo en la respuesta, Thankx – Duke