From c80ccbebf79a73e97e4e7782c27eeed1f3eb918e Mon Sep 17 00:00:00 2001 From: Ashwin Maroli Date: Wed, 2 Dec 2020 22:57:33 +0530 Subject: [PATCH] Optimize Page#dir with a private method (#8489) Merge pull request 8489 --- lib/jekyll/page.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index 3256f998..8b3245fb 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -64,12 +64,7 @@ module Jekyll # # Returns the String destination directory. def dir - if url.end_with?("/") - url - else - url_dir = File.dirname(url) - url_dir.end_with?("/") ? url_dir : "#{url_dir}/" - end + url.end_with?("/") ? url : url_dir end # The full path and filename of the post. Defined in the YAML of the post @@ -211,5 +206,12 @@ module Jekyll data["excerpt"] ||= Jekyll::PageExcerpt.new(self) end + + def url_dir + @url_dir ||= begin + value = File.dirname(url) + value.end_with?("/") ? value : "#{value}/" + end + end end end