module RapperLite::Versioning
Asset versioning methods.
Public Instance Methods
needs_packaging?( type, name )
click to toggle source
# File lib/rapper_lite/versioning.rb, line 7 def needs_packaging?( type, name ) return true unless File.exists?( self.destination_path( type, name ) ) self.version( type, name ) != @definitions[type][name]["version"] end
Protected Instance Methods
refresh_versions()
click to toggle source
# File lib/rapper_lite/versioning.rb, line 24 def refresh_versions [:css, :js].each do |type| @definitions[type].each do |name, spec| next if self.config_key?( name ) @definitions[type][name]["version"] = self.version( type, name ) end end end
version( type, name )
click to toggle source
MD5 version of the concatenated raw asset package.
# File lib/rapper_lite/versioning.rb, line 15 def version( type, name ) source_paths = self.file_paths( type, name ) destination_file = Tempfile.new( 'rapper' ) self.join_files( source_paths, destination_file.path ) version = Digest::MD5.file( destination_file.path ).to_s[0,7] destination_file.unlink version end