Class: Paste::JS::Unify
Instance Method Summary collapse
Methods inherited from Base
Methods included from Compress
#compress, #rebuild_with_compression!
Methods included from Cache
#needs_dependency_update?, #needs_update?, #rebuild, #rebuild!, #rebuild_if, #register, #registered?, #results
Methods included from Resolver
Methods included from ERBRenderer
Constructor Details
This class inherits a constructor from Paste::JS::Base
Instance Method Details
#paste(*sources) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/paste/js/unify.rb', line 7 def paste *sources result = result_name sources register sources unless registered?(sources) if needs_update?(result) || needs_dependency_update?(result) results[result][:parser].reset! write_result result end { :javascript => [result], :css => results[result][:parser].css_dependencies } end |
#result_name(sources) ⇒ Object
31 32 33 34 |
# File 'lib/paste/js/unify.rb', line 31 def result_name sources to_digest = sources.map{ |s| s.gsub /\.js$/, '' }.sort.join Digest::SHA1.hexdigest(to_digest)[0..12] + '.js' end |
#write_result(result) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/paste/js/unify.rb', line 23 def write_result result path = destination result FileUtils.mkdir_p File.dirname(path) results[result][:parser].reset! results[result][:parser].concatenation.save_to path end |