diff --git a/.rubocop.yml b/.rubocop.yml index 8f1c65afa..fd637811c 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,7 +1,8 @@ +require: rubocop-performance AllCops: DisabledByDefault: true DisplayCopNames: true - TargetRubyVersion: 2.3 + TargetRubyVersion: 2.5 Performance: Enabled: true diff --git a/.travis.yml b/.travis.yml index 5dc869aca..386d0993e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,6 @@ before_script: "unset _JAVA_OPTIONS" before_install: gem install bundler -v '<2' rvm: - - 2.3.8 - - 2.4.5 - 2.5.3 - 2.6.0 - jruby-9.2.5.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index c4ddf3db6..189f957fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Get upgrade notes from Sprockets 3.x to 4.x at https://github.com/rails/sprocket ## Master +- Minimum Ruby version for Sprockets 4 is now 2.5+ which matches minimum ruby verision of Rails [#604] + ## 4.0.0.beta8 - Security release for [CVE-2018-3760](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3760) diff --git a/lib/sprockets/loader.rb b/lib/sprockets/loader.rb index c26d9f842..8ec056491 100644 --- a/lib/sprockets/loader.rb +++ b/lib/sprockets/loader.rb @@ -86,7 +86,7 @@ def asset_from_cache(key) asset[:metadata][:dependencies].map! { |uri| uri.start_with?("file-digest://") ? expand_from_root(uri) : uri } if asset[:metadata][:dependencies] asset[:metadata].each_key do |k| - next unless k.to_s.end_with?('_dependencies') + next unless k.match?(/_dependencies\z/) # rubocop:disable Performance/EndWith asset[:metadata][k].map! { |uri| expand_from_root(uri) } end end @@ -244,7 +244,7 @@ def store_asset(asset, unloaded) # compress all _dependencies in metadata like `sass_dependencies` cached_asset[:metadata].each do |key, value| - next unless key.to_s.end_with?('_dependencies') + next unless key.match?(/_dependencies\z/) # rubocop:disable Performance/EndWith cached_asset[:metadata][key] = value.dup cached_asset[:metadata][key].map! {|uri| compress_from_root(uri) } end diff --git a/lib/sprockets/path_utils.rb b/lib/sprockets/path_utils.rb index d1a9c7632..c4d37ba75 100644 --- a/lib/sprockets/path_utils.rb +++ b/lib/sprockets/path_utils.rb @@ -98,7 +98,7 @@ def absolute_path?(path) # # Returns true if path is relative, otherwise false. def relative_path?(path) - path =~ /^\.\.?($|#{SEPARATOR_PATTERN})/ ? true : false + path.match?(/^\.\.?($|#{SEPARATOR_PATTERN})/) ? true : false end # Public: Get relative path from `start` to `dest`. diff --git a/sprockets.gemspec b/sprockets.gemspec index bb1bbb1b1..1413602e1 100644 --- a/sprockets.gemspec +++ b/sprockets.gemspec @@ -36,9 +36,9 @@ Gem::Specification.new do |s| unless RUBY_PLATFORM.include?('java') s.add_development_dependency "zopfli", "~> 0.0.4" end - s.add_development_dependency "rubocop", "~> 0.63" + s.add_development_dependency "rubocop-performance", "~> 1.3" - s.required_ruby_version = '>= 2.3.0' + s.required_ruby_version = '>= 2.5.0' s.authors = ["Sam Stephenson", "Joshua Peek"] s.email = ["sstephenson@gmail.com", "josh@joshpeek.com"] diff --git a/test/test_caching.rb b/test/test_caching.rb index 1ccbb3643..bc067c8b2 100644 --- a/test/test_caching.rb +++ b/test/test_caching.rb @@ -436,7 +436,7 @@ def teardown end cache = environment.cache def cache.set(key, value, local = false) - if value.to_s =~ /#{Dir.pwd}/ + if value.to_s.match?(/#{Dir.pwd}/) raise "Expected '#{value}' to not contain absolute path '#{Dir.pwd}' but did" end end