Hello community, here is the log from the commit of package rubygem-sprockets for openSUSE:Factory checked in at 2016-07-21 07:57:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-sprockets (Old) and /work/SRC/openSUSE:Factory/.rubygem-sprockets.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-sprockets" Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-sprockets/rubygem-sprockets.changes 2016-07-01 09:59:16.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-sprockets.new/rubygem-sprockets.changes 2016-07-21 07:57:29.000000000 +0200 @@ -1,0 +2,23 @@ +Mon Jul 4 10:13:20 UTC 2016 - [email protected] + +- updated to version 3.6.3 + see installed CHANGELOG.md + + **3.6.3** (July 1, 2016) + + * Faster asset lookup in large directories #336 + * Faster PathUtils.match_path_extname https://github.com/rails/sprockets/commit/697269cf81e5261fdd7072e32bd489403027fd7e + * Fixed uglifier comment stripping #326 + * Error messages now show load path info #313 + +------------------------------------------------------------------- +Wed Jun 29 04:33:20 UTC 2016 - [email protected] + +- updated to version 3.6.2 + see installed CHANGELOG.md + + **3.6.2** (June 21, 2016) + + * More performance improvements. + +------------------------------------------------------------------- Old: ---- sprockets-3.6.1.gem New: ---- sprockets-3.6.3.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-sprockets.spec ++++++ --- /var/tmp/diff_new_pack.1WwLzq/_old 2016-07-21 07:57:32.000000000 +0200 +++ /var/tmp/diff_new_pack.1WwLzq/_new 2016-07-21 07:57:32.000000000 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-sprockets -Version: 3.6.1 +Version: 3.6.3 Release: 0 %define mod_name sprockets %define mod_full_name %{mod_name}-%{version} ++++++ sprockets-3.6.1.gem -> sprockets-3.6.3.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2016-06-17 17:43:43.000000000 +0200 +++ new/CHANGELOG.md 2016-07-01 20:01:12.000000000 +0200 @@ -1,3 +1,14 @@ +**3.6.3** (July 1, 2016) + +* Faster asset lookup in large directories #336 +* Faster PathUtils.match_path_extname https://github.com/rails/sprockets/commit/697269cf81e5261fdd7072e32bd489403027fd7e +* Fixed uglifier comment stripping #326 +* Error messages now show load path info #313 + +**3.6.2** (June 21, 2016) + +* More performance improvements. + **3.6.1** (June 17, 2016) * Some performance improvements. Files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/sprockets/digest_utils.rb new/lib/sprockets/digest_utils.rb --- old/lib/sprockets/digest_utils.rb 2016-06-17 17:43:43.000000000 +0200 +++ new/lib/sprockets/digest_utils.rb 2016-07-01 20:01:12.000000000 +0200 @@ -34,6 +34,50 @@ DIGEST_SIZES[bytes.bytesize] end + ADD_VALUE_TO_DIGEST = { + String => ->(val, digest) { digest << val }, + FalseClass => ->(val, digest) { digest << 'FalseClass'.freeze }, + TrueClass => ->(val, digest) { digest << 'TrueClass'.freeze }, + NilClass => ->(val, digest) { digest << 'NilClass'.freeze }, + + Symbol => ->(val, digest) { + digest << 'Symbol'.freeze + digest << val.to_s + }, + Fixnum => ->(val, digest) { + digest << 'Fixnum'.freeze + digest << val.to_s + }, + Bignum => ->(val, digest) { + digest << 'Bignum'.freeze + digest << val.to_s + }, + Array => ->(val, digest) { + digest << 'Array'.freeze + val.each do |element| + ADD_VALUE_TO_DIGEST[element.class].call(element, digest) + end + }, + Hash => ->(val, digest) { + digest << 'Hash'.freeze + val.sort.each do |array| + ADD_VALUE_TO_DIGEST[Array].call(array, digest) + end + }, + Set => ->(val, digest) { + digest << 'Set'.freeze + ADD_VALUE_TO_DIGEST[Array].call(val.to_a, digest) + }, + Encoding => ->(val, digest) { + digest << 'Encoding'.freeze + digest << val.name + }, + } + ADD_VALUE_TO_DIGEST.default_proc = ->(_, val) { + raise TypeError, "couldn't digest #{ val }" + } + private_constant :ADD_VALUE_TO_DIGEST + # Internal: Generate a hexdigest for a nested JSON serializable object. # # This is used for generating cache keys, so its pretty important its @@ -44,46 +88,8 @@ # Returns a String digest of the object. def digest(obj) digest = digest_class.new - queue = [obj] - - while queue.length > 0 - obj = queue.shift - klass = obj.class - - if klass == String - digest << obj - elsif klass == Symbol - digest << 'Symbol' - digest << obj.to_s - elsif klass == Fixnum - digest << 'Fixnum' - digest << obj.to_s - elsif klass == Bignum - digest << 'Bignum' - digest << obj.to_s - elsif klass == TrueClass - digest << 'TrueClass' - elsif klass == FalseClass - digest << 'FalseClass' - elsif klass == NilClass - digest << 'NilClass'.freeze - elsif klass == Array - digest << 'Array' - queue.concat(obj) - elsif klass == Hash - digest << 'Hash' - queue.concat(obj.sort) - elsif klass == Set - digest << 'Set' - queue.concat(obj.to_a) - elsif klass == Encoding - digest << 'Encoding' - digest << obj.name - else - raise TypeError, "couldn't digest #{klass}" - end - end + ADD_VALUE_TO_DIGEST[obj.class].call(obj, digest) digest.digest end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/sprockets/path_utils.rb new/lib/sprockets/path_utils.rb --- old/lib/sprockets/path_utils.rb 2016-06-17 17:43:43.000000000 +0200 +++ new/lib/sprockets/path_utils.rb 2016-07-01 20:01:12.000000000 +0200 @@ -148,16 +148,19 @@ # # Returns [String extname, Object value] or nil nothing matched. def match_path_extname(path, extensions) - match, key = nil, "" - path_extnames(path).reverse_each do |extname| - key.prepend(extname) - if value = extensions[key] - match = [key.dup, value] - elsif match - break + basename = File.basename(path) + + i = basename.index('.'.freeze) + while i && i < basename.length - 1 + extname = basename[i..-1] + if value = extensions[extname] + return extname, value end + + i = basename.index('.'.freeze, i+1) end - match + + nil end # Internal: Returns all parents for path diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/sprockets/processor_utils.rb new/lib/sprockets/processor_utils.rb --- old/lib/sprockets/processor_utils.rb 2016-06-17 17:43:43.000000000 +0200 +++ new/lib/sprockets/processor_utils.rb 2016-07-01 20:01:12.000000000 +0200 @@ -121,6 +121,17 @@ Set ]).freeze + # Internal: Hash of all "simple" value types allowed to be returned in + # processor metadata. + VALID_METADATA_VALUE_TYPES_HASH = VALID_METADATA_VALUE_TYPES.each_with_object({}) do |type, hash| + hash[type] = true + end.freeze + + # Internal: Hash of all nested compound metadata types that can nest values. + VALID_METADATA_COMPOUND_TYPES_HASH = VALID_METADATA_COMPOUND_TYPES.each_with_object({}) do |type, hash| + hash[type] = true + end.freeze + # Internal: Set of all allowed metadata types. VALID_METADATA_TYPES = (VALID_METADATA_VALUE_TYPES + VALID_METADATA_COMPOUND_TYPES).freeze @@ -159,9 +170,9 @@ # # Returns true if class is in whitelist otherwise false. def valid_processor_metadata_value?(value) - if VALID_METADATA_VALUE_TYPES.include?(value.class) + if VALID_METADATA_VALUE_TYPES_HASH[value.class] true - elsif VALID_METADATA_COMPOUND_TYPES.include?(value.class) + elsif VALID_METADATA_COMPOUND_TYPES_HASH[value.class] value.all? { |v| valid_processor_metadata_value?(v) } else false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/sprockets/resolve.rb new/lib/sprockets/resolve.rb --- old/lib/sprockets/resolve.rb 2016-06-17 17:43:43.000000000 +0200 +++ new/lib/sprockets/resolve.rb 2016-07-01 20:01:12.000000000 +0200 @@ -60,6 +60,7 @@ end message << " with type '#{options[:accept]}'" if options[:accept] + message << "\nChecked in these paths: \n #{ config[:paths].join("\n ") }" raise FileNotFound, message end @@ -177,6 +178,7 @@ candidates = [] entries = self.entries(dirname) entries.each do |entry| + next unless File.basename(entry).start_with?(basename) name, type, _, _ = parse_path_extnames(entry) if basename == name candidates << [File.join(dirname, entry), type] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/sprockets/uglifier_compressor.rb new/lib/sprockets/uglifier_compressor.rb --- old/lib/sprockets/uglifier_compressor.rb 2016-06-17 17:43:43.000000000 +0200 +++ new/lib/sprockets/uglifier_compressor.rb 2016-07-01 20:01:12.000000000 +0200 @@ -41,7 +41,7 @@ options[:copyright] ||= false else # Uglifier >= 2.x - options[:copyright] ||= :none + options[:comments] ||= :none end @uglifier = Autoload::Uglifier.new(options) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/sprockets/version.rb new/lib/sprockets/version.rb --- old/lib/sprockets/version.rb 2016-06-17 17:43:43.000000000 +0200 +++ new/lib/sprockets/version.rb 2016-07-01 20:01:12.000000000 +0200 @@ -1,3 +1,3 @@ module Sprockets - VERSION = "3.6.1" + VERSION = "3.6.3" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2016-06-17 17:43:43.000000000 +0200 +++ new/metadata 2016-07-01 20:01:12.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: sprockets version: !ruby/object:Gem::Version - version: 3.6.1 + version: 3.6.3 platform: ruby authors: - Sam Stephenson @@ -9,7 +9,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2016-06-17 00:00:00.000000000 Z +date: 2016-07-01 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rack
