lib/propshaft/load_path.rb in propshaft-0.6.1 vs lib/propshaft/load_path.rb in propshaft-0.6.2
- old
+ new
@@ -2,11 +2,11 @@
class Propshaft::LoadPath
attr_reader :paths, :version
def initialize(paths = [], version: nil)
- @paths = Array(paths).collect { |path| Pathname.new(path) }
+ @paths = dedup(paths)
@version = version
end
def find(asset_name)
assets_by_path[asset_name]
@@ -62,7 +62,15 @@
files.reject { |file| file.basename.to_s.starts_with?(".") }
end
def clear_cache
@cached_assets_by_path = nil
+ end
+
+ def dedup(paths)
+ [].tap do |deduped|
+ Array(paths).sort.each do |path|
+ deduped << Pathname.new(path) if deduped.blank? || !path.to_s.start_with?(deduped.last.to_s)
+ end
+ end
end
end