    # File lib/action_controller/routing/optimisations.rb, line 78
            def generation_code
              elements = []
              idx = 0

              if kind == :url
                elements << '#{request.protocol}'
                elements << '#{request.host_with_port}'
              end

              elements << '#{ActionController::Base.relative_url_root if ActionController::Base.relative_url_root}'

              # The last entry in <tt>route.segments</tt> appears to *always* be a
              # 'divider segment' for '/' but we have assertions to ensure that
              # we don't include the trailing slashes, so skip them.
              (route.segments.size == 1 ? route.segments : route.segments[0..-2]).each do |segment|
                if segment.is_a?(DynamicSegment)
                  elements << segment.interpolation_chunk("args[#{idx}].to_param")
                  idx += 1
                else
                  elements << segment.interpolation_chunk
                end
              end
              %("#{elements * ''}")
            end