Extract and optimize virtual path building
Before: build 1.759M (± 0.4%) i/s - 8.855M in 5.034065s After: build 2.700M (± 0.8%) i/s - 13.584M in 5.031691s
This commit is contained in:
parent
adc0146a07
commit
7faa50cb32
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user