module RailsCom::Routes
Public Instance Methods
actions(controller)
click to toggle source
# File lib/rails_com/meta/routes.rb, line 8 def actions(controller) routes_wrapper.select { |i| i[:controller] == controller.to_s }.map { |i| i[:action] }.uniq end
controllers()
click to toggle source
# File lib/rails_com/meta/routes.rb, line 12 def controllers _controllers = routes_wrapper.map { |i| i[:controller] }.compact.uniq _controllers - RailsCom.config.ignore_controllers end
detail(route)
click to toggle source
# File lib/rails_com/meta/routes.rb, line 37 def detail(route) wrap = ActionDispatch::Routing::RouteWrapper.new(route) info = route.defaults { verb: route.verb, path: wrap.path, controller: info[:controller], action: info[:action] } end
modules()
click to toggle source
# File lib/rails_com/meta/routes.rb, line 17 def modules controllers.map do |i| x = i.split('/') if x.size >= 2 x[0..-2].join('/') end end.compact.uniq end
routes()
click to toggle source
# File lib/rails_com/meta/routes.rb, line 49 def routes @routes ||= Rails.application.routes.routes end
routes_wrapper()
click to toggle source
# File lib/rails_com/meta/routes.rb, line 26 def routes_wrapper return @routes_wrapper if @routes_wrapper.present? @routes_wrapper = [] routes.each do |route| @routes_wrapper << detail(route) end @routes_wrapper end
verbs(controller, action)
click to toggle source
# File lib/rails_com/meta/routes.rb, line 4 def verbs(controller, action) routes_wrapper.select { |i| i[:controller] == controller.to_s && i[:action] == action.to_s }.map { |i| i[:verb] }.uniq end