def url(root, params = {})
      dest = root.dup

      dest << (dest.include?("?") ? "&" : "?")
      dest << "#{type}=#{param}"

      params.each_pair do |key, value|
        dest << "&#{key}=#{CGI.escape(value.to_s)}"
      end

      dest
    end
def url(root, params = {})
      dest = root.dup

      dest << (dest.include?("?") ? "&" : "?")
      dest << "

      params.each_pair do |key, value|
        dest << "&
      end

      dest
    end
def url ( root , params = { } ) dest = root . dup dest << ( dest . include? ( "?" ) ? "&" : "?" ) dest << "#{type}=#{param}" params . each_pair do | key , value | dest << "&#{key}=#{CGI.escape(value.to_s)}" end dest end
Utility method to get the full redirect destination, Request#url("https://idp.example.com/saml", { :RelayState => "https://sp.example.com/saml" })
Utility method to get the full redirect destination Request#url ( https : // idp . example . com / saml { : RelayState = > https : // sp . example . com / saml } )