# File lib/uri_template/rfc6570/expression/named.rb, line 32
  def to_r_source
    source = regex_builder
    source.group do
      source.escaped_prefix
      first = true
      @variable_specs.each do | var, expand , max_length |
        if expand
          source.capture do
            source.separated_list(first) do
              source.character_class('+')\
                .escaped_pair_connector\
                .character_class_with_comma(max_length)
            end
          end
        else
          source.group do
            source.escaped_separator unless first
            source << Regexp.escape(var)
            source.group do
              source.escaped_pair_connector
              source.capture do
                source.character_class_with_comma(max_length)
              end
              source << '|' unless self.class::PAIR_IF_EMPTY
            end
          end.length('?')
        end
        first = false
      end
    end.length('?')
    return source.join
  end