Module: RocketDocs::Router
- Defined in:
- lib/rocket_docs/router.rb
Class Method Summary collapse
- .api_controller_names ⇒ Object
- .api_controller_paths(controllers = api_controllers) ⇒ Object
- .api_controllers(names = api_controller_names) ⇒ Object
- .api_full ⇒ Object
- .app_routes ⇒ Object
- .routes ⇒ Object
- .routes_for_version(version) ⇒ Object
- .versions ⇒ Object
Class Method Details
.api_controller_names ⇒ Object
27 28 29 30 31 32 |
# File 'lib/rocket_docs/router.rb', line 27 def api_controller_names ar = routes.named_routes.select do |_k, route| route && route.path && route.path.requirements[:version] end ar.values.map { |r| r.defaults[:controller] }.uniq end |
.api_controller_paths(controllers = api_controllers) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/rocket_docs/router.rb', line 11 def api_controller_paths(controllers = api_controllers) cp = controllers.map do |c| c.instance_methods(false).map do |m| c.instance_method(m).source_location.first end end cp.flatten.uniq.compact end |
.api_controllers(names = api_controller_names) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/rocket_docs/router.rb', line 20 def api_controllers(names = api_controller_names) names.map do |cn| cn += '_controller' cn.classify.constantize end end |
.api_full ⇒ Object
4 5 6 7 8 9 |
# File 'lib/rocket_docs/router.rb', line 4 def api_full result = {} versions.each { |v| result[v] = {} } result.each { |k, v| fill_controllers_hash_for_version(k, v) } result end |
.app_routes ⇒ Object
50 51 52 |
# File 'lib/rocket_docs/router.rb', line 50 def app_routes Rails.application.class.routes end |
.routes ⇒ Object
46 47 48 |
# File 'lib/rocket_docs/router.rb', line 46 def routes app_routes.routes end |
.routes_for_version(version) ⇒ Object
34 35 36 37 38 39 |
# File 'lib/rocket_docs/router.rb', line 34 def routes_for_version(version) routes.to_a.select do |r| versions = extract_versions_from_route(r) versions && versions.include?(version) end end |
.versions ⇒ Object
41 42 43 44 |
# File 'lib/rocket_docs/router.rb', line 41 def versions routes.to_a.map { |r| extract_versions_from_route(r) } .flatten.uniq.compact end |