Skip to content

Instantly share code, notes, and snippets.

@seth-macpherson
Forked from pragmaticivan/grape.rake
Last active September 5, 2015 06:31
Show Gist options
  • Save seth-macpherson/74671e0315fcbcd450fd to your computer and use it in GitHub Desktop.
Save seth-macpherson/74671e0315fcbcd450fd to your computer and use it in GitHub Desktop.
Grape Rake (routes)
namespace :grape do
desc "Condensed API Routes"
task :routes => :environment do
mapped_prefix = '' # where mounted in routes.rb
format = "%46s %3s %7s %50s %12s: %s"
API.routes.each do |grape_route|
info = grape_route.instance_variable_get :@options
puts format % [
info[:description] ? info[:description][0..45] : '',
info[:version],
info[:method],
mapped_prefix + info[:path],
'# params: ' + info[:params].length.to_s,
info[:params].first.inspect
]
if info[:params].length > 1
info[:params].each_with_index do |param_info, index|
next if index == 0
puts format % ['','','','','',param_info.inspect]
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment