Module: Synth::Helpers

Extended by:
Helpers
Included in:
Helpers
Defined in:
lib/synth/helpers.rb

Instance Method Summary collapse

Instance Method Details

#endpointsObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/synth/helpers.rb', line 5

def endpoints
  routes = ::Rails.application.routes.routes.named_routes.keep_if {|name, route|
    route.required_defaults.has_key?(:action) && route.required_defaults[:action] == 'show'
  }.map {|name, route|
    [
      route.required_defaults[:controller].singularize.to_sym,
      route.path.spec.to_s.gsub('(.:format)', '.:format').gsub(/\(.*\)/, ''),
      route.parts.size
    ]
  }.sort {|a,b| a.last <=> b.last }

  endpoints = {}
  for route in routes
    endpoints[route[0]] ||= route[1]
  end

  endpoints
end