I have question regarding the implementation. I have quite deep folder structure in my rails project:
├── app
│ ├── controllers
│ │ ├── api
│ │ │ ├── base.rb
│ │ │ └── v2
│ │ │ ├── api.rb
│ │ │ ├── defaults.rb
│ │ │ └── users.rb
Prefix Verb URI Pattern Controller#Action
api_base /api API::Base
Return list of hussars GET /:version/hussars(.:format) API::V1::Hussars
OPTIONS /:version/hussars(.:format)(.:format) API::V1::Hussars
PUT /:version/hussars(.:format)(.:format) API::V1::Hussars
POST /:version/hussars(.:format)(.:format) API::V1::Hussars
DELETE /:version/hussars(.:format)(.:format) API::V1::Hussars
PATCH /:version/hussars(.:format)(.:format) API::V1::Hussars
Return list of hussars GET /:version/hussars(.:format) API::V1::Base
OPTIONS /:version/hussars(.:format)(.:format) API::V1::Base
PUT /:version/hussars(.:format)(.:format) API::V1::Base
POST /:version/hussars(.:format)(.:format) API::V1::Base
DELETE /:version/hussars(.:format)(.:format) API::V1::Base
PATCH /:version/hussars(.:format)(.:format) API::V1::Base
Return list of hussars GET /:version/hussars(.:format) API::Base
[API::V1::Hussars, API::V1::Base, API::Base, API::V1::Hussars, API::V1::Base, API::Base]
version=v1, method=GET, path=/:version/hussars(.:format)
version=, method=OPTIONS, path=/:version/hussars(.:format)(.:format)
version=, method=PUT, path=/:version/hussars(.:format)(.:format)
version=, method=POST, path=/:version/hussars(.:format)(.:format)
version=, method=DELETE, path=/:version/hussars(.:format)(.:format)
version=, method=PATCH, path=/:version/hussars(.:format)(.:format)
version=v1, method=GET, path=/:version/hussars(.:format)
version=, method=OPTIONS, path=/:version/hussars(.:format)(.:format)
version=, method=PUT, path=/:version/hussars(.:format)(.:format)
version=, method=POST, path=/:version/hussars(.:format)(.:format)
version=, method=DELETE, path=/:version/hussars(.:format)(.:format)
version=, method=PATCH, path=/:version/hussars(.:format)(.:format)
version=v1, method=GET, path=/:version/hussars(.:format)
version=v1, method=GET, path=/:version/hussars(.:format)
version=, method=OPTIONS, path=/:version/hussars(.:format)(.:format)
version=, method=PUT, path=/:version/hussars(.:format)(.:format)
version=, method=POST, path=/:version/hussars(.:format)(.:format)
version=, method=DELETE, path=/:version/hussars(.:format)(.:format)
version=, method=PATCH, path=/:version/hussars(.:format)(.:format)
version=v1, method=GET, path=/:version/hussars(.:format)
version=, method=OPTIONS, path=/:version/hussars(.:format)(.:format)
version=, method=PUT, path=/:version/hussars(.:format)(.:format)
version=, method=POST, path=/:version/hussars(.:format)(.:format)
version=, method=DELETE, path=/:version/hussars(.:format)(.:format)
version=, method=PATCH, path=/:version/hussars(.:format)(.:format)
version=v1, method=GET, path=/:version/hussars(.:format)
path = ActionDispatch::Journey::Path::Pattern.new route.route_path
all_routes.add_route(klass, path, {
request_method: %r{^#{route.route_method}$}
}, {}, route.route_description)
module API
class Base < Grape::API
mount API::V1::Base
end
end
version=, method=POST, path=/:version/hussars(.:format)(.:format)