From 7e123f902e17be3426189df9a8342de793eaac79 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Tue, 31 Mar 2015 17:15:57 +0300 Subject: [PATCH] Get route info --- spec/requests/domain_spec.rb | 2 +- spec/support/request.rb | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/spec/requests/domain_spec.rb b/spec/requests/domain_spec.rb index d1d17b819..16bff3993 100644 --- a/spec/requests/domain_spec.rb +++ b/spec/requests/domain_spec.rb @@ -10,7 +10,7 @@ describe Repp::DomainV1 do describe 'GET /repp/v1/domains', autodoc: true do it 'returns domains of the current registrar' do - + binding.pry get_with_auth '/repp/v1/domains', { limit: 1, details: true }, @api_user response.status.should == 200 diff --git a/spec/support/request.rb b/spec/support/request.rb index 053874f0b..6bd90e35c 100644 --- a/spec/support/request.rb +++ b/spec/support/request.rb @@ -29,6 +29,28 @@ module Request ) }) end + + def get_route_info(path) + route = Repp::API.routes.select do |x| + x.route_path.gsub('(.:format)', '').gsub(':version', x.route_version) == path + end.first + + route_path = route.route_path.gsub('(.:format)', '').gsub(':version', route.route_version) + + puts "#{route.route_method} #{route_path}" + puts " #{route.route_description}" if route.route_description + + if route.route_params.is_a?(Hash) + params = route.route_params.map do |name, desc| + required = desc.is_a?(Hash) ? desc[:required] : false + description = desc.is_a?(Hash) ? desc[:description] : desc.to_s + [name, required, " * #{name}: #{description} #{required ? '(required)' : ''}"] + end + + puts " parameters:" + params.each { |p| puts p[2] } + end + end end RSpec.configure do |c|