# File lib/camping-unabridged.rb, line 183 183: def R(c,*g) 184: p,h=/\(.+?\)/,g.grep(Hash) 185: g-=h 186: raise "bad route" unless u = c.urls.find{|x| 187: break x if x.scan(p).size == g.size && 188: /^#{x}\/?$/ =~ (x=g.inject(x){|x,a| 189: x.sub p,U.escape((a.to_param rescue a))}.gsub(/\\(.)/){$1}) 190: } 191: h.any?? u+"?"+U.build_query(h[0]) : u 192: end