# coding: utf-8 module UzuUzu module Helper module Route def url_for_controller(controller, *args) app = UzuUzu.current route_string = request.env['SCRIPT_NAME'] app.controllers.each do |root_controller| re = Regexp.compile("^#{root_controller.name}::") if re =~ controller.name path = controller.name.gsub(re, '').gsub(/Controller$/, '').to_const_path route_string << "/#{path}" unless path == 'index' break end end if args[-1].kind_of?(Hash) query = query_string(args.pop) end args.each do |arg| route_string << "/#{arg}" end route_string << '/' if args.blank? route_string << query unless query.blank? route_string end alias :rf :url_for_controller def url_for(*args) route_string = @_route.clone if args[-1].kind_of?(Hash) query = query_string(args.pop) end args.each do |arg| route_string << "/#{arg}" end route_string << '/' if args.blank? route_string << query unless query.blank? route_string end alias :r :url_for def root_uri abs_uri = "#{request.scheme}://#{request.host}" if request.scheme == 'https' && request.port != 443 || request.scheme == 'http' && request.port != 80 abs_uri << ":#{request.port}" end abs_uri end end end end