Module: YARD::Templates::Helpers::RouteHelper

Defined in:
lib/yard-api/templates/helpers/route_helper.rb

Class Method Summary collapse

Class Method Details

.api_methods_for_controller_and_action(controller, action) ⇒ Object



12
13
14
15
16
17
# File 'lib/yard-api/templates/helpers/route_helper.rb', line 12

def self.api_methods_for_controller_and_action(controller, action)
  @routes ||= self.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) ⇒ Object



19
20
21
# File 'lib/yard-api/templates/helpers/route_helper.rb', line 19

def self.get_route_path(route)
  route.path.spec.to_s.gsub("(.:format)", "")
end

.get_route_verb(route) ⇒ Object



23
24
25
# File 'lib/yard-api/templates/helpers/route_helper.rb', line 23

def self.get_route_verb(route)
  route.verb.source =~ /\^?(\w*)\$/ ? $1.upcase : route.verb.source
end

.matches_controller_and_action?(route, controller, action) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
# File 'lib/yard-api/templates/helpers/route_helper.rb', line 7

def self.matches_controller_and_action?(route, controller, action)
  route.requirements[:controller] == controller &&
  route.requirements[:action] == action
end

.routes_for(prefix) ⇒ Object



3
4
5
# File 'lib/yard-api/templates/helpers/route_helper.rb', line 3

def self.routes_for(prefix)
  Rails.application.routes.set
end