diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-05-20 13:17:39 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-05-20 13:25:14 -0700 |
commit | c99ff6df0031a10d67d6185597085a6bcbeee114 (patch) | |
tree | d170875e2b4af83a1f117e5ff3c4533a2b5cfadf /actionpack | |
parent | e883db02bce5d5f06628dc9eae51c8f526a4df97 (diff) | |
download | rails-c99ff6df0031a10d67d6185597085a6bcbeee114.tar.gz rails-c99ff6df0031a10d67d6185597085a6bcbeee114.tar.bz2 rails-c99ff6df0031a10d67d6185597085a6bcbeee114.zip |
cache the formatter on the path object
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_dispatch/journey/path/pattern.rb | 5 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/journey/route.rb | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/journey/path/pattern.rb b/actionpack/lib/action_dispatch/journey/path/pattern.rb index fb155e516f..28c75618de 100644 --- a/actionpack/lib/action_dispatch/journey/path/pattern.rb +++ b/actionpack/lib/action_dispatch/journey/path/pattern.rb @@ -28,6 +28,11 @@ module ActionDispatch @required_names = nil @re = nil @offsets = nil + @format = Visitors::FormatBuilder.new.accept(spec) + end + + def format_path(path_options) + @format.evaluate path_options end def ast diff --git a/actionpack/lib/action_dispatch/journey/route.rb b/actionpack/lib/action_dispatch/journey/route.rb index 7535a62740..d4df96314f 100644 --- a/actionpack/lib/action_dispatch/journey/route.rb +++ b/actionpack/lib/action_dispatch/journey/route.rb @@ -76,8 +76,7 @@ module ActionDispatch value.to_s == defaults[key].to_s && !required_parts.include?(key) end - format = Visitors::FormatBuilder.new.accept(path.spec) - format.evaluate path_options + path.format_path path_options end def optimized_path |