lib/dassets.rb in dassets-0.14.0 vs lib/dassets.rb in dassets-0.14.1

- old
+ new

@@ -1,31 +1,44 @@ require 'dassets/version' require 'dassets/asset_file' require 'dassets/config' +require 'dassets/source_file' module Dassets def self.config; @config ||= Config.new; end def self.configure(&block) block.call(self.config) end def self.init - @asset_files ||= {} + @asset_files ||= {} + @source_files = SourceFiles.new(self.config.sources) end def self.[](digest_path) @asset_files[digest_path] ||= AssetFile.new(digest_path) end - def self.source_list - SourceList.new(self.config.sources) + def self.source_files + @source_files end - module SourceList + module SourceFiles + def self.new(sources) - sources.inject([]){ |list, source| list += source.files } + # use a hash to store the source files so in the case two source files + # have the same digest path, the last one *should* be correct since it + # was last to be configured + sources.inject({}) do |hash, source| + source.files.each do |file_path| + s = SourceFile.new(file_path) + hash[s.digest_path] = s + end + hash + end end + end end Dassets.init