module YARD::Templates::Helpers::RouteHelper
Public Class Methods
api_methods_for_controller_and_action(controller, action)
click to toggle source
# File lib/yard-api/templates/helpers/route_helper.rb, line 22 def api_methods_for_controller_and_action(controller, action) @routes ||= routes_for('/') controller_path = [ YARD::APIPlugin.options.route_namespace, controller ].join('/') controller_path.gsub!(/^\/|_controller$/, '') @routes.find_all { |r| matches_controller_and_action?(r, controller_path, action) } end
get_route_path(route)
click to toggle source
# File lib/yard-api/templates/helpers/route_helper.rb, line 29 def get_route_path(route) route.path.spec.to_s.gsub("(.:format)", "") end
get_route_verb(route)
click to toggle source
# File lib/yard-api/templates/helpers/route_helper.rb, line 33 def get_route_verb(route) verb = route.verb case verb when Regexp verb.source =~ /\^?(\w*)\$/ ? $1.upcase : verb.source when String verb else "???" end end
matches_controller_and_action?(route, controller, action)
click to toggle source
# File lib/yard-api/templates/helpers/route_helper.rb, line 17 def matches_controller_and_action?(route, controller, action) route.requirements[:controller] == controller && route.requirements[:action] == action end
routes_for(prefix)
click to toggle source
# File lib/yard-api/templates/helpers/route_helper.rb, line 4 def routes_for(prefix) Rails.application.routes.set end
routes_for_yard_object(api_object)
click to toggle source
# File lib/yard-api/templates/helpers/route_helper.rb, line 8 def routes_for_yard_object(api_object) controller_name = api_object.parent.path.underscore controller_name.sub!('_controller', '') unless controller_name.include?('/') action = api_object.path.sub(/^.*#/, '').sub(/_with_.*$/, '') api_methods_for_controller_and_action(controller_name, action) end