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