@@ -923,31 +923,48 @@ def three
923923 { :description => "Reverses a string." , :params => { "s" => { :desc => "string to reverse" , :type => "string" } } }
924924 ]
925925 end
926- it "should merge the options of the namespace with the options of the method" do
927- subject . desc "namespace" , :params => { :ns_param => "ns param" }
926+ it "should merge the parameters of the namespace with the parameters of the method" do
927+ subject . desc "namespace"
928+ subject . params do
929+ requires :ns_param , :desc => "namespace parameter"
930+ end
928931 subject . namespace "ns" do
929- desc "method" , :params => { :method_param => "method param" }
932+ desc "method"
933+ params do
934+ optional :method_param , :desc => "method parameter"
935+ end
930936 get "method" do ; end
931937 end
932938 subject . routes . map { |route |
933939 { :description => route . route_description , :params => route . route_params }
934940 } . should eq [
935- { :description => "method" , :params => { :ns_param => "ns param" , :method_param => "method param" } }
941+ { :description => "method" , :params => { :ns_param => { :required => true , :desc => "namespace parameter" } , :method_param => { :required => false , :desc => "method parameter" } } }
936942 ]
937943 end
938- it "should merge the options of nested namespaces" do
939- subject . desc "ns1" , :params => { :ns_param => "ns param 1" , :ns1_param => "ns1 param" }
944+ it "should merge the parameters of nested namespaces" do
945+ subject . desc "ns1"
946+ subject . params do
947+ optional :ns_param , :desc => "ns param 1"
948+ requires :ns1_param , :desc => "ns1 param"
949+ end
940950 subject . namespace "ns1" do
941- desc "ns2" , :params => { :ns_param => "ns param 2" , :ns2_param => "ns2 param" }
951+ desc "ns2"
952+ params do
953+ requires :ns_param , :desc => "ns param 2"
954+ requires :ns2_param , :desc => "ns2 param"
955+ end
942956 namespace "ns2" do
943- desc "method" , :params => { :method_param => "method param" }
957+ desc "method"
958+ params do
959+ optional :method_param , :desc => "method param"
960+ end
944961 get "method" do ; end
945962 end
946963 end
947964 subject . routes . map { |route |
948965 { :description => route . route_description , :params => route . route_params }
949966 } . should eq [
950- { :description => "method" , :params => { :ns_param => "ns param 2" , :ns1_param => "ns1 param" , :ns2_param => "ns2 param" , :method_param => "method param" } }
967+ { :description => "method" , :params => { :ns_param => { :required => true , :desc => "ns param 2" } , :ns1_param => { :required => true , :desc => "ns1 param" } , :ns2_param => { :required => true , :desc => "ns2 param" } , :method_param => { :required => false , :desc => "method param" } } }
951968 ]
952969 end
953970 it "should not symbolize params" do
0 commit comments