Sha256: 422056fe780e41c7df60ca02e566a0c3758215ec5044ca27a689fe0cfa47ff41
Contents?: true
Size: 973 Bytes
Versions: 2
Compression:
Stored size: 973 Bytes
Contents
require_dependency "lina/base_controller" module Lina class ApidocController < BaseController def index all_routes = Rails.application.routes.routes inspector = ActionDispatch::Routing::RoutesInspector.new(all_routes) # 过滤出所有 API 相关的路由 api_routes = [] @user_api_controllers = user_api_controllers @user_api_controllers.each do |controller| api_routes += inspector.send(:filter_routes, controller) end @routes = inspector.send(:collect_routes, api_routes) # add schema info to route @routes.each do |route| controller, action = route[:reqs].split('#') route[:schema] = str2controller(controller).action_schema(action) route[:path].gsub!('(.:format)', '') end @_tree = Lina::Tree.new(@routes) @tree = @_tree.to_tree respond_to do |format| format.html format.json { render json: @tree } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lina-0.0.2 | app/controllers/lina/apidoc_controller.rb |
lina-0.0.1 | app/controllers/lina/apidoc_controller.rb |