Skip to content
  • John Hawthorn's avatar
    e53c45b8
    Introduce Resolver::PathParser · e53c45b8
    John Hawthorn authored
    The template resolver is supposed to determine the handler, format, and
    variant from the path in extract_handler_and_format_and_variant.
    
    Previously this behaviour was close but didn't exactly match the
    behaviour of finding templates, and in some cases (particularly with
    handlers or formats missing) would return incorrect results.
    
    This commit introduces Resolver::PathParser, a class which should be
    able to accurately from any path inside a view directory be able to tell
    us exactly the prefix, partial, variant, locale, format, variant, and
    handler of that template.
    
    This works by building a building a regexp from the known handlers and
    file types. This requires that any resolvers have their cache cleared
    when new handlers or types are registered (this was already somewhat the
    requirement, since resolver lookups are cached, but this makes it
    necessary in more situations).
    e53c45b8
    Introduce Resolver::PathParser
    John Hawthorn authored
    The template resolver is supposed to determine the handler, format, and
    variant from the path in extract_handler_and_format_and_variant.
    
    Previously this behaviour was close but didn't exactly match the
    behaviour of finding templates, and in some cases (particularly with
    handlers or formats missing) would return incorrect results.
    
    This commit introduces Resolver::PathParser, a class which should be
    able to accurately from any path inside a view directory be able to tell
    us exactly the prefix, partial, variant, locale, format, variant, and
    handler of that template.
    
    This works by building a building a regexp from the known handlers and
    file types. This requires that any resolvers have their cache cleared
    when new handlers or types are registered (this was already somewhat the
    requirement, since resolver lookups are cached, but this makes it
    necessary in more situations).
Loading