forked from soveran/cuba
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
@codereading/readers
def consume(pattern)
return unless match = env["PATH_INFO"].match(/\A\/(#{pattern})((?:\/|\z))/)
binding.pry
path, *vars = match.captures
env["SCRIPT_NAME"] += "/#{path}"
env["PATH_INFO"] = "#{vars.pop}#{match.post_match}"
captures.push(*vars)
end
private :consume
def match(matcher, segment = "([^\\/]+)")
case matcher
when String then
consume(matcher.gsub(/:\w+/, segment))
when Regexp then consume(matcher)
when Symbol then consume(segment)
when Proc then matcher.call
else
matcher
end
end
consume(matcher.gsub(/:\w+/, segment))
and
match = env["PATH_INFO"].match(/\A\/(#{pattern})((?:\/|\z))/)
just what exactly are these two regexps doing?
Metadata
Metadata
Assignees
Labels
No labels