endpoint_doc.rb
1 require 'main' 2 3 fltr = ARGV[0] || "" 4 5 if fltr.length == 0 6 puts "All endpoints" 7 else 8 puts "Endpoints matching: #{fltr}" 9 end 10 11 RESTHelpers::Endpoint.all.keep_if { |e| e[:uri] =~ /#{fltr}/ }.each do |e| 12 puts "\n#{e[:method]} '#{e[:uri]}':" 13 puts " Description: #{e[:description]}" 14 puts " Parameters: " 15 16 if e[:paginated] 17 puts "This endpoint is paginated. :page, :id_set, or :all_ids is required" 18 puts " Integer page -- The page set to be returned" 19 puts " Integer page_size -- The size of the set to be returned ( Optional. default set in AppConfig )" 20 puts " Comma seperated list id_set -- A list of ids to request resolved objects ( Must be smaller than default page_size )" 21 puts " Boolean all_ids -- Return a list of all object ids" 22 end 23 24 25 e[:params].each do |param| 26 opts = (param[3] or {}) 27 28 vs = opts[:validation] ? " -- #{opts[:validation][0]}" : "" 29 30 if opts[:body] 31 puts " #{param[1]} <request body> -- #{param[2]}#{vs}" 32 else 33 puts " #{param[1]} #{param[0]} -- #{param[2]}#{vs}" 34 end 35 end 36 37 # puts " Returns: #{e[:returns].inspect}" 38 puts " Returns:" 39 e[:returns].each do |ret| 40 puts " #{ret[0]} -- #{ret[1]}" 41 end 42 43 end