class Addressable::Template
def parse_template_expansion(capture, mapping={})
-
(Array)-
Parameters:
-
mapping(Hash) -- An optional mapping to merge defaults into. -
expansion(String) -- The operator String.
def parse_template_expansion(capture, mapping={}) operator, argument, variables = capture[1...-1].split("|", -1) operator.gsub!(/^\-/, "") variables = variables.split(",", -1) mapping = (variables.inject({}) do |accu, var| varname, _, vardefault = var.scan(/^(.+?)(=(.*))?$/)[0] accu[varname] = vardefault accu end).merge(mapping) variables = variables.map { |var| var.gsub(/=.*$/, "") } return operator, argument, variables, mapping end