Merge pull request #42099 from jhawthorn/optimize_virtual

Extract and optimize virtual path building
This commit is contained in:
John Hawthorn 2021-04-28 16:05:18 -07:00 committed by GitHub
commit 43ec4cef32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -15,11 +15,18 @@ class Path
attr_reader :name, :prefix, :partial, :virtual
alias_method :partial?, :partial
def self.virtual(name, prefix, partial)
if prefix.empty?
"#{partial ? "_" : ""}#{name}"
elsif partial
"#{prefix}/_#{name}"
else
"#{prefix}/#{name}"
end
end
def self.build(name, prefix, partial)
virtual = +""
virtual << "#{prefix}/" unless prefix.empty?
virtual << (partial ? "_#{name}" : name)
new name, prefix, partial, virtual
new name, prefix, partial, virtual(name, prefix, partial)
end
def initialize(name, prefix, partial, virtual)