diff --git a/.rubocop.yml b/.rubocop.yml index 018fa172..cf300cd0 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,6 +1,8 @@ -require: rubocop-performance +require: + - rubocop-performance AllCops: + NewCops: disable TargetRubyVersion: 2.5 Include: - "**/*.rb" @@ -11,11 +13,16 @@ AllCops: - "vendor/**/*" - "**/tmp/**/*" - "middleman-cli/lib/middleman-cli/templates/**/*" + +Style/FrozenStringLiteralComment: + Enabled: true + EnforcedStyle: always + Security/YAMLLoad: Enabled: false Style/GuardClause: Enabled: false -Metrics/LineLength: +Layout/LineLength: Enabled: false Metrics/MethodLength: Enabled: false @@ -39,13 +46,13 @@ Lint/AmbiguousBlockAssociation: Enabled: false Lint/UriEscapeUnescape: Enabled: false -Lint/HandleExceptions: +Lint/SuppressedException: Enabled: false Lint/ShadowedException: Enabled: false Naming/FileName: Enabled: false -Naming/UncommunicativeMethodParamName: +Naming/MethodParameterName: Enabled: false Naming/MemoizedInstanceVariableName: Enabled: false @@ -57,9 +64,7 @@ Style/ClassAndModuleChildren: Enabled: false Style/MissingRespondToMissing: Enabled: false -Style/MethodMissingSuper: - Enabled: false -Style/FrozenStringLiteralComment: +Lint/MissingSuper: Enabled: false Style/EvalWithLocation: Enabled: false @@ -67,3 +72,5 @@ Style/ClassVars: Enabled: false Style/GlobalVars: Enabled: false +Style/Proc: + Enabled: false diff --git a/.travis.yml b/.travis.yml index c0614b19..bf62da6c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: ruby +dist: xenial cache: bundler rvm: - ruby-head @@ -7,11 +8,10 @@ rvm: - 2.5 os: - linux -matrix: +jobs: fast_finish: true allow_failures: - rvm: ruby-head env: global: - TEST=true -script: bundle exec rake test diff --git a/Gemfile b/Gemfile index 354aa9ee..15a3b9d1 100644 --- a/Gemfile +++ b/Gemfile @@ -38,8 +38,8 @@ gem 'mini_racer', '~> 0.2.4', platforms: :ruby gem 'therubyrhino', '>= 2.0', platforms: :jruby # Code Quality -gem 'rubocop', '~> 0.70.0', require: false -gem 'rubocop-performance', require: false +gem 'rubocop', '~> 0.89', require: false +gem 'rubocop-performance', '~> 1.7', require: false gem 'simplecov', '~> 0.10', require: false # Middleman itself diff --git a/Gemfile.lock b/Gemfile.lock index 72eb0675..1d8899e3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,7 +49,7 @@ GEM ffi (~> 1.9) rspec-expectations (>= 2.99) thor (>= 0.19, < 2.0) - ast (2.4.0) + ast (2.4.1) backports (3.17.1) binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) @@ -109,7 +109,6 @@ GEM i18n (0.9.5) concurrent-ruby (~> 1.0) interception (0.5) - jaro_winkler (1.5.4) kramdown (2.3.0) rexml lazy_priority_queue (0.1.1) @@ -140,9 +139,9 @@ GEM padrino-support (= 0.14.4) tilt (>= 1.4.1, < 3) padrino-support (0.14.4) - parallel (1.19.1) - parser (2.7.1.2) - ast (~> 2.4.0) + parallel (1.19.2) + parser (2.7.1.4) + ast (~> 2.4.1) pry (0.13.1) coderay (~> 1.1) method_source (~> 1.0) @@ -164,6 +163,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) redcarpet (3.5.0) + regexp_parser (1.7.1) rexml (3.2.4) rgl (0.5.6) lazy_priority_queue (~> 0.1.0) @@ -181,15 +181,19 @@ GEM diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.9.0) rspec-support (3.9.3) - rubocop (0.70.0) - jaro_winkler (~> 1.5.1) + rubocop (0.89.1) parallel (~> 1.10) - parser (>= 2.6) + parser (>= 2.7.1.1) rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.3.0, < 1.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-performance (1.3.0) - rubocop (>= 0.68.0) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (0.3.0) + parser (>= 2.7.1.4) + rubocop-performance (1.7.1) + rubocop (>= 0.82.0) ruby-progressbar (1.10.1) ruby2_keywords (0.0.2) rubydns (1.0.3) @@ -226,7 +230,7 @@ GEM thread_safe (~> 0.1) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (1.6.1) + unicode-display_width (1.7.0) xpath (2.1.0) nokogiri (~> 1.3) yard (0.9.25) @@ -254,8 +258,8 @@ DEPENDENCIES rake (~> 12.3) redcarpet (>= 3.1) rspec (~> 3.0) - rubocop (~> 0.70.0) - rubocop-performance + rubocop (~> 0.89) + rubocop-performance (~> 1.7) rubydns (~> 1.0.1) sassc (~> 2.0) simplecov (~> 0.10) diff --git a/Rakefile b/Rakefile index 5d12bdc9..1ef3f41b 100644 --- a/Rakefile +++ b/Rakefile @@ -44,8 +44,6 @@ end desc 'Run tests for all middleman gems' task :test do - Rake::Task['rubocop'].invoke - GEM_PATHS.each do |g| Dir.chdir(File.join(ROOT, g).to_s) { sh "#{Gem.ruby} -S rake test" } end @@ -63,4 +61,4 @@ desc 'Run RuboCop to check code consistency' RuboCop::RakeTask.new(:rubocop) desc 'Run tests for all middleman gems' -task default: :test +task default: %i[rubocop test] diff --git a/middleman-cli/Rakefile b/middleman-cli/Rakefile index 8c9c28c6..40ea591f 100644 --- a/middleman-cli/Rakefile +++ b/middleman-cli/Rakefile @@ -1,3 +1,5 @@ -RAKE_ROOT = __FILE__.freeze -GEM_NAME = 'middleman-cli'.freeze +# frozen_string_literal: true + +RAKE_ROOT = __FILE__ +GEM_NAME = 'middleman-cli' require File.expand_path(File.dirname(__FILE__) + '/../gem_rake_helper') diff --git a/middleman-cli/bin/middleman b/middleman-cli/bin/middleman index b2bd47fa..5ba233d8 100755 --- a/middleman-cli/bin/middleman +++ b/middleman-cli/bin/middleman @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# frozen_string_literal: true require 'middleman-core/profiling' Middleman::Profiling.profiler = Middleman::Profiling::RubyProfProfiler.new if ARGV.include? '--profile' diff --git a/middleman-cli/features/support/env.rb b/middleman-cli/features/support/env.rb index 779db033..31d0e823 100644 --- a/middleman-cli/features/support/env.rb +++ b/middleman-cli/features/support/env.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ENV['TEST'] = 'true' require 'active_support/all' diff --git a/middleman-cli/fixtures/preview-server-app/bin/dns_server.rb b/middleman-cli/fixtures/preview-server-app/bin/dns_server.rb index 4fb1c378..013c8964 100755 --- a/middleman-cli/fixtures/preview-server-app/bin/dns_server.rb +++ b/middleman-cli/fixtures/preview-server-app/bin/dns_server.rb @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# frozen_string_literal: true require 'rubydns' require 'psych' diff --git a/middleman-cli/fixtures/preview-server-hook-app/config.rb b/middleman-cli/fixtures/preview-server-hook-app/config.rb index b421b824..af22636b 100644 --- a/middleman-cli/fixtures/preview-server-hook-app/config.rb +++ b/middleman-cli/fixtures/preview-server-hook-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :layout, false class MyFeature < Middleman::Extension diff --git a/middleman-cli/lib/middleman-cli.rb b/middleman-cli/lib/middleman-cli.rb index a3c117e7..1044a933 100644 --- a/middleman-cli/lib/middleman-cli.rb +++ b/middleman-cli/lib/middleman-cli.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Setup our load paths libdir = __dir__ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) diff --git a/middleman-cli/lib/middleman-cli/build.rb b/middleman-cli/lib/middleman-cli/build.rb index 6072880d..571824a7 100644 --- a/middleman-cli/lib/middleman-cli/build.rb +++ b/middleman-cli/lib/middleman-cli/build.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/application' # CLI Module @@ -126,7 +128,7 @@ module Middleman::Cli puts 'Project built successfully.' else msg = 'There were errors during this build' - msg << ', re-run with `middleman build --verbose` to see the full exception.' unless options['verbose'] + msg = "#{msg}, re-run with `middleman build --verbose` to see the full exception." unless options['verbose'] shell.say msg, :red exit(1) diff --git a/middleman-cli/lib/middleman-cli/config.rb b/middleman-cli/lib/middleman-cli/config.rb index add8730a..ebaf40eb 100644 --- a/middleman-cli/lib/middleman-cli/config.rb +++ b/middleman-cli/lib/middleman-cli/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # CLI Module module Middleman::Cli # The CLI Config class diff --git a/middleman-cli/lib/middleman-cli/console.rb b/middleman-cli/lib/middleman-cli/console.rb index 4e267539..c3bd842a 100644 --- a/middleman-cli/lib/middleman-cli/console.rb +++ b/middleman-cli/lib/middleman-cli/console.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # CLI Module module Middleman::Cli # The CLI Console class diff --git a/middleman-cli/lib/middleman-cli/extension.rb b/middleman-cli/lib/middleman-cli/extension.rb index b9f84435..bcb64381 100644 --- a/middleman-cli/lib/middleman-cli/extension.rb +++ b/middleman-cli/lib/middleman-cli/extension.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # CLI Module module Middleman::Cli # A thor task for creating new projects diff --git a/middleman-cli/lib/middleman-cli/init.rb b/middleman-cli/lib/middleman-cli/init.rb index f9bdaf60..cbf8f54a 100644 --- a/middleman-cli/lib/middleman-cli/init.rb +++ b/middleman-cli/lib/middleman-cli/init.rb @@ -1,10 +1,12 @@ +# frozen_string_literal: true + # CLI Module module Middleman::Cli # A thor task for creating new projects class Init < Thor::Group include Thor::Actions - GIT_CMD = 'git'.freeze + GIT_CMD = 'git' check_unknown_options! @@ -32,9 +34,11 @@ module Middleman::Cli require 'tmpdir' unless git_present? - msg = 'You need to install the git command line tool to initialize a new project. ' - msg << "For help installing git, please refer to GitHub's tutorial at https://help.github.com/articles/set-up-git" - say msg, :red + msg_array = [ + 'You need to install the git command line tool to initialize a new project. ', + "For help installing git, please refer to GitHub's tutorial at https://help.github.com/articles/set-up-git" + ] + say msg_array.join, :red exit 1 end diff --git a/middleman-cli/lib/middleman-cli/server.rb b/middleman-cli/lib/middleman-cli/server.rb index d45ac43b..2354eae3 100644 --- a/middleman-cli/lib/middleman-cli/server.rb +++ b/middleman-cli/lib/middleman-cli/server.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # CLI Module module Middleman::Cli # Server thor task diff --git a/middleman-cli/lib/middleman-core/cli.rb b/middleman-cli/lib/middleman-core/cli.rb index 19f65d52..7200f8e1 100644 --- a/middleman-cli/lib/middleman-core/cli.rb +++ b/middleman-cli/lib/middleman-core/cli.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + # Backwards compat require 'middleman-cli' diff --git a/middleman-core/Rakefile b/middleman-core/Rakefile index 01049499..e9d3a984 100644 --- a/middleman-core/Rakefile +++ b/middleman-core/Rakefile @@ -1,3 +1,5 @@ -RAKE_ROOT = __FILE__.freeze +# frozen_string_literal: true + +RAKE_ROOT = __FILE__ GEM_NAME = ENV['NAME'] || 'middleman-core' require File.expand_path(File.dirname(__FILE__) + '/../gem_rake_helper') diff --git a/middleman-core/features/support/env.rb b/middleman-core/features/support/env.rb index c5a16ce0..25926566 100644 --- a/middleman-core/features/support/env.rb +++ b/middleman-core/features/support/env.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ENV['TEST'] = 'true' require 'active_support/all' diff --git a/middleman-core/features/support/preserve_mime_types.rb b/middleman-core/features/support/preserve_mime_types.rb index a791e49c..55bfee1e 100644 --- a/middleman-core/features/support/preserve_mime_types.rb +++ b/middleman-core/features/support/preserve_mime_types.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Around('@preserve_mime_types') do |_scenario, block| mime_types = ::Rack::Mime::MIME_TYPES.clone diff --git a/middleman-core/fixtures/asset-hash-app/config.rb b/middleman-core/fixtures/asset-hash-app/config.rb index b3723e3b..c864741c 100644 --- a/middleman-core/fixtures/asset-hash-app/config.rb +++ b/middleman-core/fixtures/asset-hash-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :asset_hash activate :relative_assets diff --git a/middleman-core/fixtures/asset-hash-minified-app/config.rb b/middleman-core/fixtures/asset-hash-minified-app/config.rb index 96f8266c..835b835d 100644 --- a/middleman-core/fixtures/asset-hash-minified-app/config.rb +++ b/middleman-core/fixtures/asset-hash-minified-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + configure :build do # Minify JavaScript on build activate :minify_javascript diff --git a/middleman-core/fixtures/asset-hash-prefix/config.rb b/middleman-core/fixtures/asset-hash-prefix/config.rb index fe55e48e..1ec3aab7 100644 --- a/middleman-core/fixtures/asset-hash-prefix/config.rb +++ b/middleman-core/fixtures/asset-hash-prefix/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :asset_hash, prefix: 'myprefix-' diff --git a/middleman-core/fixtures/asset-hash-remove-filename/config.rb b/middleman-core/fixtures/asset-hash-remove-filename/config.rb index 46929b95..8d048dfe 100644 --- a/middleman-core/fixtures/asset-hash-remove-filename/config.rb +++ b/middleman-core/fixtures/asset-hash-remove-filename/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :asset_hash, rename_proc: lambda do |path, _basename, digest, extension, _options| "#{path}#{digest}#{extension}" diff --git a/middleman-core/fixtures/asset-hash-source-map/config.rb b/middleman-core/fixtures/asset-hash-source-map/config.rb index b3723e3b..c864741c 100644 --- a/middleman-core/fixtures/asset-hash-source-map/config.rb +++ b/middleman-core/fixtures/asset-hash-source-map/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :asset_hash activate :relative_assets diff --git a/middleman-core/fixtures/asset-host-app/config.rb b/middleman-core/fixtures/asset-host-app/config.rb index f760f3db..13ded318 100644 --- a/middleman-core/fixtures/asset-host-app/config.rb +++ b/middleman-core/fixtures/asset-host-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :asset_host, host: 'http://assets1.example.com' diff --git a/middleman-core/fixtures/auto-css-app/config.rb b/middleman-core/fixtures/auto-css-app/config.rb index f8f33d86..c5051d29 100644 --- a/middleman-core/fixtures/auto-css-app/config.rb +++ b/middleman-core/fixtures/auto-css-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + %w[ /auto-css.html /auto-css diff --git a/middleman-core/fixtures/auto-js-app/config.rb b/middleman-core/fixtures/auto-js-app/config.rb index df105e71..3a84894c 100644 --- a/middleman-core/fixtures/auto-js-app/config.rb +++ b/middleman-core/fixtures/auto-js-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + %w[ /auto-js.html /auto-js diff --git a/middleman-core/fixtures/auto-js-directory-index-app/config.rb b/middleman-core/fixtures/auto-js-directory-index-app/config.rb index 9d37508b..51ae91fc 100644 --- a/middleman-core/fixtures/auto-js-directory-index-app/config.rb +++ b/middleman-core/fixtures/auto-js-directory-index-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :directory_indexes diff --git a/middleman-core/fixtures/automatic-directory-matcher-app/config.rb b/middleman-core/fixtures/automatic-directory-matcher-app/config.rb index 2685fe4b..2dd72ab7 100644 --- a/middleman-core/fixtures/automatic-directory-matcher-app/config.rb +++ b/middleman-core/fixtures/automatic-directory-matcher-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :automatic_directory_matcher, '--' diff --git a/middleman-core/fixtures/basic-data-app/config.rb b/middleman-core/fixtures/basic-data-app/config.rb index 6611756d..1bdd3ef9 100644 --- a/middleman-core/fixtures/basic-data-app/config.rb +++ b/middleman-core/fixtures/basic-data-app/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + data.store :static_array, ::YAML.load_file(File.expand_path('static_array.yml', File.dirname(__FILE__))) data.store :static_hash, ::YAML.load_file(File.expand_path('static_hash.yml', File.dirname(__FILE__))) diff --git a/middleman-core/fixtures/build-with-errors-app/config.rb b/middleman-core/fixtures/build-with-errors-app/config.rb index 09ff69dd..e67655ce 100644 --- a/middleman-core/fixtures/build-with-errors-app/config.rb +++ b/middleman-core/fixtures/build-with-errors-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :layout, false diff --git a/middleman-core/fixtures/capture-html-app/config.rb b/middleman-core/fixtures/capture-html-app/config.rb index 2d7e0035..97cb9329 100644 --- a/middleman-core/fixtures/capture-html-app/config.rb +++ b/middleman-core/fixtures/capture-html-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'slim' page '/capture_html_erb.html', layout: :capture_html diff --git a/middleman-core/fixtures/clean-app/config-complications.rb b/middleman-core/fixtures/clean-app/config-complications.rb index 4867e865..8578168a 100644 --- a/middleman-core/fixtures/clean-app/config-complications.rb +++ b/middleman-core/fixtures/clean-app/config-complications.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + proxy '/fake.html', '/real.html', layout: false ignore '/should_be_ignored.html' diff --git a/middleman-core/fixtures/clean-app/config-hidden-dir-after.rb b/middleman-core/fixtures/clean-app/config-hidden-dir-after.rb index 6d762dc1..20f649f5 100644 --- a/middleman-core/fixtures/clean-app/config-hidden-dir-after.rb +++ b/middleman-core/fixtures/clean-app/config-hidden-dir-after.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :build_dir, '.build' ignore '/should_be_ignored.html' diff --git a/middleman-core/fixtures/clean-app/config-hidden-dir-before.rb b/middleman-core/fixtures/clean-app/config-hidden-dir-before.rb index 4d130740..a4a86df6 100644 --- a/middleman-core/fixtures/clean-app/config-hidden-dir-before.rb +++ b/middleman-core/fixtures/clean-app/config-hidden-dir-before.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :build_dir, '.build' diff --git a/middleman-core/fixtures/clean-app/config.rb b/middleman-core/fixtures/clean-app/config.rb index 4867e865..8578168a 100644 --- a/middleman-core/fixtures/clean-app/config.rb +++ b/middleman-core/fixtures/clean-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + proxy '/fake.html', '/real.html', layout: false ignore '/should_be_ignored.html' diff --git a/middleman-core/fixtures/clean-dir-app/config.rb b/middleman-core/fixtures/clean-dir-app/config.rb index 9d37508b..51ae91fc 100644 --- a/middleman-core/fixtures/clean-dir-app/config.rb +++ b/middleman-core/fixtures/clean-dir-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :directory_indexes diff --git a/middleman-core/fixtures/clean-nested-app/config.rb b/middleman-core/fixtures/clean-nested-app/config.rb index 3ee145a3..a03323ba 100644 --- a/middleman-core/fixtures/clean-nested-app/config.rb +++ b/middleman-core/fixtures/clean-nested-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :build_dir, 'sub/dir' diff --git a/middleman-core/fixtures/content-for-app/config.rb b/middleman-core/fixtures/content-for-app/config.rb index afa60634..0e807561 100644 --- a/middleman-core/fixtures/content-for-app/config.rb +++ b/middleman-core/fixtures/content-for-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'slim' page '/content_for_erb.html', layout: :content_for diff --git a/middleman-core/fixtures/custom-layout-app/config.rb b/middleman-core/fixtures/custom-layout-app/config.rb index d8a232b3..6e20156d 100644 --- a/middleman-core/fixtures/custom-layout-app/config.rb +++ b/middleman-core/fixtures/custom-layout-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :erb, layout_engine: :str diff --git a/middleman-core/fixtures/custom-src-app/config.rb b/middleman-core/fixtures/custom-src-app/config.rb index e23d2bd3..383a5c9e 100644 --- a/middleman-core/fixtures/custom-src-app/config.rb +++ b/middleman-core/fixtures/custom-src-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :source, 'src' diff --git a/middleman-core/fixtures/data-app/config.rb b/middleman-core/fixtures/data-app/config.rb index 2aa77658..a60aa6a8 100644 --- a/middleman-core/fixtures/data-app/config.rb +++ b/middleman-core/fixtures/data-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + data.pages.each do |p| proxy p.from, p.to end diff --git a/middleman-core/fixtures/destination-dir-different-from-source-dir-name/my-app/config.rb b/middleman-core/fixtures/destination-dir-different-from-source-dir-name/my-app/config.rb index 4f8d8e2b..5aef0d30 100644 --- a/middleman-core/fixtures/destination-dir-different-from-source-dir-name/my-app/config.rb +++ b/middleman-core/fixtures/destination-dir-different-from-source-dir-name/my-app/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + files.watch :source, path: File.join(root, '..', 'external'), destination_dir: 'my_dir' diff --git a/middleman-core/fixtures/dynamic-pages-app/config.rb b/middleman-core/fixtures/dynamic-pages-app/config.rb index a7d912bd..cac98ec7 100644 --- a/middleman-core/fixtures/dynamic-pages-app/config.rb +++ b/middleman-core/fixtures/dynamic-pages-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + proxy '/fake.html', '/real.html', layout: false proxy 'fake2.html', '/real.html', layout: false proxy 'fake3.html', 'real.html', layout: false diff --git a/middleman-core/fixtures/extension-api-deprecations-app/config.rb b/middleman-core/fixtures/extension-api-deprecations-app/config.rb index bcadf949..fb335f38 100644 --- a/middleman-core/fixtures/extension-api-deprecations-app/config.rb +++ b/middleman-core/fixtures/extension-api-deprecations-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class LayoutDisabler < Middleman::Extension def initialize(app, options_hash = {}, &block) super diff --git a/middleman-core/fixtures/extension-hooks-app/config.rb b/middleman-core/fixtures/extension-hooks-app/config.rb index 4a81dda3..798df2cf 100644 --- a/middleman-core/fixtures/extension-hooks-app/config.rb +++ b/middleman-core/fixtures/extension-hooks-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :layout, false class MyFeature < Middleman::Extension diff --git a/middleman-core/fixtures/external-helpers/config.rb b/middleman-core/fixtures/external-helpers/config.rb index 1e9ceb84..466e0cab 100644 --- a/middleman-core/fixtures/external-helpers/config.rb +++ b/middleman-core/fixtures/external-helpers/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'lib/hello_helper' helpers HelloHelper diff --git a/middleman-core/fixtures/external-helpers/helpers/derp.rb b/middleman-core/fixtures/external-helpers/helpers/derp.rb index dbb712e6..f8971f57 100644 --- a/middleman-core/fixtures/external-helpers/helpers/derp.rb +++ b/middleman-core/fixtures/external-helpers/helpers/derp.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Derp def three 'Three' diff --git a/middleman-core/fixtures/external-helpers/helpers/four_helpers.rb b/middleman-core/fixtures/external-helpers/helpers/four_helpers.rb index 871a76eb..080a7200 100644 --- a/middleman-core/fixtures/external-helpers/helpers/four_helpers.rb +++ b/middleman-core/fixtures/external-helpers/helpers/four_helpers.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module FourHelpers def four 'Four' diff --git a/middleman-core/fixtures/external-helpers/helpers/one_helper.rb b/middleman-core/fixtures/external-helpers/helpers/one_helper.rb index 581447ca..4645b7b9 100644 --- a/middleman-core/fixtures/external-helpers/helpers/one_helper.rb +++ b/middleman-core/fixtures/external-helpers/helpers/one_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module OneHelper def one 'One' diff --git a/middleman-core/fixtures/external-helpers/helpers/yet_another_thingy.rb b/middleman-core/fixtures/external-helpers/helpers/yet_another_thingy.rb index b3eb049f..933eca51 100644 --- a/middleman-core/fixtures/external-helpers/helpers/yet_another_thingy.rb +++ b/middleman-core/fixtures/external-helpers/helpers/yet_another_thingy.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module YetAnotherThingy def two 'Two' diff --git a/middleman-core/fixtures/external-helpers/lib/hello_helper.rb b/middleman-core/fixtures/external-helpers/lib/hello_helper.rb index 0ef0b421..6fc1c9d4 100644 --- a/middleman-core/fixtures/external-helpers/lib/hello_helper.rb +++ b/middleman-core/fixtures/external-helpers/lib/hello_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module HelloHelper def hello 'Hello World' diff --git a/middleman-core/fixtures/external-pipeline-error/config.rb b/middleman-core/fixtures/external-pipeline-error/config.rb index 668ace5d..522983be 100644 --- a/middleman-core/fixtures/external-pipeline-error/config.rb +++ b/middleman-core/fixtures/external-pipeline-error/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :external_pipeline, name: :failing, command: 'mv does-not-exist tmp/file.js', diff --git a/middleman-core/fixtures/feature-params-app/config.rb b/middleman-core/fixtures/feature-params-app/config.rb index ca6a61a3..d15d48c9 100644 --- a/middleman-core/fixtures/feature-params-app/config.rb +++ b/middleman-core/fixtures/feature-params-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :layout, false class ExtensionA < ::Middleman::Extension diff --git a/middleman-core/fixtures/frontmatter-app/config.rb b/middleman-core/fixtures/frontmatter-app/config.rb index 9f0d3d58..1241bbcf 100644 --- a/middleman-core/fixtures/frontmatter-app/config.rb +++ b/middleman-core/fixtures/frontmatter-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + config[:frontmatter_delims][:yaml] << %w[\\--- \\---] diff --git a/middleman-core/fixtures/frontmatter-neighbor-app/config.rb b/middleman-core/fixtures/frontmatter-neighbor-app/config.rb index a0446228..a278339e 100644 --- a/middleman-core/fixtures/frontmatter-neighbor-app/config.rb +++ b/middleman-core/fixtures/frontmatter-neighbor-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + ignore '*.frontmatter' # Reads neighbor for every file on every refresh. diff --git a/middleman-core/fixtures/frontmatter-settings-app/config.rb b/middleman-core/fixtures/frontmatter-settings-app/config.rb index a5e8129a..d66ac34c 100644 --- a/middleman-core/fixtures/frontmatter-settings-app/config.rb +++ b/middleman-core/fixtures/frontmatter-settings-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Proxy ignored.html, which should ignore itself through a frontmatter proxy 'proxied.html', 'ignored.html' page 'override_layout.html', layout: :alternate diff --git a/middleman-core/fixtures/frontmatter-settings-neighbor-app/config.rb b/middleman-core/fixtures/frontmatter-settings-neighbor-app/config.rb index 4de94e76..70a5e5d4 100644 --- a/middleman-core/fixtures/frontmatter-settings-neighbor-app/config.rb +++ b/middleman-core/fixtures/frontmatter-settings-neighbor-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Proxy ignored.html, which should ignore itself through a frontmatter proxy 'proxied.html', 'ignored.html' proxy 'proxied_with_frontmatter.html', 'ignored.html' diff --git a/middleman-core/fixtures/glob-app/config.rb b/middleman-core/fixtures/glob-app/config.rb index 53251d74..fe1bee0c 100644 --- a/middleman-core/fixtures/glob-app/config.rb +++ b/middleman-core/fixtures/glob-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + page '/index.html', layout: false diff --git a/middleman-core/fixtures/gzip-app/config.rb b/middleman-core/fixtures/gzip-app/config.rb index e5775a58..55bedb55 100644 --- a/middleman-core/fixtures/gzip-app/config.rb +++ b/middleman-core/fixtures/gzip-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :gzip diff --git a/middleman-core/fixtures/i-8859-1-app/config.rb b/middleman-core/fixtures/i-8859-1-app/config.rb index 93470bb6..5a604e61 100644 --- a/middleman-core/fixtures/i-8859-1-app/config.rb +++ b/middleman-core/fixtures/i-8859-1-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :encoding, 'ISO-8859-1' diff --git a/middleman-core/fixtures/i18n-default-app/config.rb b/middleman-core/fixtures/i18n-default-app/config.rb index bd01dcda..ac84945c 100644 --- a/middleman-core/fixtures/i18n-default-app/config.rb +++ b/middleman-core/fixtures/i18n-default-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :i18n diff --git a/middleman-core/fixtures/i18n-force-locale/config.rb b/middleman-core/fixtures/i18n-force-locale/config.rb index 72d94071..53a7c5a9 100644 --- a/middleman-core/fixtures/i18n-force-locale/config.rb +++ b/middleman-core/fixtures/i18n-force-locale/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + %i[en es].each do |locale| proxy "/#{locale}/index.html", 'index.html', ignore: true, lang: locale end diff --git a/middleman-core/fixtures/i18n-mixed-sources/config.rb b/middleman-core/fixtures/i18n-mixed-sources/config.rb index e132b6b1..2dcbe8b5 100644 --- a/middleman-core/fixtures/i18n-mixed-sources/config.rb +++ b/middleman-core/fixtures/i18n-mixed-sources/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :i18n, mount_at_root: :en, langs: %i[en es] diff --git a/middleman-core/fixtures/import-app/config.rb b/middleman-core/fixtures/import-app/config.rb index 082efce4..31716dd3 100644 --- a/middleman-core/fixtures/import-app/config.rb +++ b/middleman-core/fixtures/import-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + import_file File.expand_path('static.html', root), '/static2.html' import_path File.expand_path('bower_components/', root) diff --git a/middleman-core/fixtures/indexable-app/config.rb b/middleman-core/fixtures/indexable-app/config.rb index 41944664..f5567878 100644 --- a/middleman-core/fixtures/indexable-app/config.rb +++ b/middleman-core/fixtures/indexable-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :directory_indexes page '/leave_me_alone.html', directory_index: false diff --git a/middleman-core/fixtures/large-build-app/config.rb b/middleman-core/fixtures/large-build-app/config.rb index 85ac2730..6b5dab82 100644 --- a/middleman-core/fixtures/large-build-app/config.rb +++ b/middleman-core/fixtures/large-build-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + page '/spaces in file.html', layout: false config[:port] = 5555 diff --git a/middleman-core/fixtures/lorem-app/config.rb b/middleman-core/fixtures/lorem-app/config.rb index 6382e3a3..e75608d5 100644 --- a/middleman-core/fixtures/lorem-app/config.rb +++ b/middleman-core/fixtures/lorem-app/config.rb @@ -1 +1,2 @@ +# frozen_string_literal: true # activate :minify_css diff --git a/middleman-core/fixtures/manual-layout-missing/config.rb b/middleman-core/fixtures/manual-layout-missing/config.rb index acaa2783..91c0f574 100644 --- a/middleman-core/fixtures/manual-layout-missing/config.rb +++ b/middleman-core/fixtures/manual-layout-missing/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :layout, :custom diff --git a/middleman-core/fixtures/manual-layout-override/config.rb b/middleman-core/fixtures/manual-layout-override/config.rb index 2b4e1fb8..803cc5b8 100644 --- a/middleman-core/fixtures/manual-layout-override/config.rb +++ b/middleman-core/fixtures/manual-layout-override/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :layout, :custom page '/', layout: :another diff --git a/middleman-core/fixtures/manual-layout/config.rb b/middleman-core/fixtures/manual-layout/config.rb index acaa2783..91c0f574 100644 --- a/middleman-core/fixtures/manual-layout/config.rb +++ b/middleman-core/fixtures/manual-layout/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :layout, :custom diff --git a/middleman-core/fixtures/markdown-app/config.rb b/middleman-core/fixtures/markdown-app/config.rb index 01b533a6..2cb44284 100644 --- a/middleman-core/fixtures/markdown-app/config.rb +++ b/middleman-core/fixtures/markdown-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :markdown, smartypants: true diff --git a/middleman-core/fixtures/markdown-frontmatter-options-app/config.rb b/middleman-core/fixtures/markdown-frontmatter-options-app/config.rb index 01b533a6..2cb44284 100644 --- a/middleman-core/fixtures/markdown-frontmatter-options-app/config.rb +++ b/middleman-core/fixtures/markdown-frontmatter-options-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :markdown, smartypants: true diff --git a/middleman-core/fixtures/missing-tilt-library-app/config.rb b/middleman-core/fixtures/missing-tilt-library-app/config.rb index 661a0afa..3becd5c7 100644 --- a/middleman-core/fixtures/missing-tilt-library-app/config.rb +++ b/middleman-core/fixtures/missing-tilt-library-app/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + ignore 'danger-zone/*' ignore '*.textile' diff --git a/middleman-core/fixtures/more-extensionless-text-files-app/config.rb b/middleman-core/fixtures/more-extensionless-text-files-app/config.rb index 9d37508b..51ae91fc 100644 --- a/middleman-core/fixtures/more-extensionless-text-files-app/config.rb +++ b/middleman-core/fixtures/more-extensionless-text-files-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + activate :directory_indexes diff --git a/middleman-core/fixtures/more-frontmatter-settings-app/config.rb b/middleman-core/fixtures/more-frontmatter-settings-app/config.rb index c5c9fb86..4684dd9e 100644 --- a/middleman-core/fixtures/more-frontmatter-settings-app/config.rb +++ b/middleman-core/fixtures/more-frontmatter-settings-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :directory_indexes # Proxy ignored.html, which should ignore itself through a frontmatter diff --git a/middleman-core/fixtures/more-traversal-app/config.rb b/middleman-core/fixtures/more-traversal-app/config.rb index 2cff6765..d45b455f 100644 --- a/middleman-core/fixtures/more-traversal-app/config.rb +++ b/middleman-core/fixtures/more-traversal-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + activate :directory_indexes proxy '/sub/fake.html', '/proxied.html', ignore: true diff --git a/middleman-core/fixtures/multiple-data-sources-app/config.rb b/middleman-core/fixtures/multiple-data-sources-app/config.rb index 37a2c5c9..c54d93b4 100644 --- a/middleman-core/fixtures/multiple-data-sources-app/config.rb +++ b/middleman-core/fixtures/multiple-data-sources-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + files.watch :data, path: File.join(root, 'data0'), priority: 100 files.watch :data, path: File.join(root, 'data1') files.watch :data, path: File.join(root, 'data2') diff --git a/middleman-core/fixtures/multiple-sources-app/config.rb b/middleman-core/fixtures/multiple-sources-app/config.rb index 585a5153..5e924a6a 100644 --- a/middleman-core/fixtures/multiple-sources-app/config.rb +++ b/middleman-core/fixtures/multiple-sources-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + files.watch :source, path: File.join(root, 'source0'), priority: 100 files.watch :source, path: File.join(root, 'source1') files.watch :source, path: File.join(root, 'source2') diff --git a/middleman-core/fixtures/multiple-sources-with-destination-dir/config.rb b/middleman-core/fixtures/multiple-sources-with-destination-dir/config.rb index 8df8d40f..3371710a 100644 --- a/middleman-core/fixtures/multiple-sources-with-destination-dir/config.rb +++ b/middleman-core/fixtures/multiple-sources-with-destination-dir/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + files.watch :source, path: File.join(root, 'external'), destination_dir: 'external' diff --git a/middleman-core/fixtures/multiple-sources-with-duplicate-file-names-app/config.rb b/middleman-core/fixtures/multiple-sources-with-duplicate-file-names-app/config.rb index f1b72543..b5f5e632 100644 --- a/middleman-core/fixtures/multiple-sources-with-duplicate-file-names-app/config.rb +++ b/middleman-core/fixtures/multiple-sources-with-duplicate-file-names-app/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + files.watch :source, path: File.join(root, 'source2'), destination_dir: 'source2' diff --git a/middleman-core/fixtures/multiple-sources-without-destination-dir/config.rb b/middleman-core/fixtures/multiple-sources-without-destination-dir/config.rb index 8a5a2fb5..7f52b898 100644 --- a/middleman-core/fixtures/multiple-sources-without-destination-dir/config.rb +++ b/middleman-core/fixtures/multiple-sources-without-destination-dir/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + files.watch :source, path: File.join(root, 'external') diff --git a/middleman-core/fixtures/nested-data-app/config.rb b/middleman-core/fixtures/nested-data-app/config.rb index 09ff69dd..e67655ce 100644 --- a/middleman-core/fixtures/nested-data-app/config.rb +++ b/middleman-core/fixtures/nested-data-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :layout, false diff --git a/middleman-core/fixtures/nested-layout-app/config.rb b/middleman-core/fixtures/nested-layout-app/config.rb index acf8683b..7d2e3e35 100644 --- a/middleman-core/fixtures/nested-layout-app/config.rb +++ b/middleman-core/fixtures/nested-layout-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + set :layout, :inner diff --git a/middleman-core/fixtures/padrino-helpers-app/config.rb b/middleman-core/fixtures/padrino-helpers-app/config.rb index 673bfc6f..28ff5e2f 100644 --- a/middleman-core/fixtures/padrino-helpers-app/config.rb +++ b/middleman-core/fixtures/padrino-helpers-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + helpers do def title content_tag :h1 do diff --git a/middleman-core/fixtures/page-classes-app/config.rb b/middleman-core/fixtures/page-classes-app/config.rb index 1c8956e9..2f0f1270 100644 --- a/middleman-core/fixtures/page-classes-app/config.rb +++ b/middleman-core/fixtures/page-classes-app/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + page '/sub1/page-classes.html', layout: false page '/sub1/sub2/page-classes.html', layout: false diff --git a/middleman-core/fixtures/page-helper-layout-block-app/config.rb b/middleman-core/fixtures/page-helper-layout-block-app/config.rb index 62e7696b..a088d57b 100644 --- a/middleman-core/fixtures/page-helper-layout-block-app/config.rb +++ b/middleman-core/fixtures/page-helper-layout-block-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + page '/path/*', layout: 'alt' # Doesn't work, and shouldn't diff --git a/middleman-core/fixtures/page-id-app/config-proc.rb b/middleman-core/fixtures/page-id-app/config-proc.rb index 99b057c6..f5bd4a83 100644 --- a/middleman-core/fixtures/page-id-app/config-proc.rb +++ b/middleman-core/fixtures/page-id-app/config-proc.rb @@ -1,7 +1,9 @@ +# frozen_string_literal: true + %w[1 2 3].each do |n| proxy "/#{n}.html", '/index.html', id: "page#{n}" end page '/overwrites/*', id: :"something-else" -config[:page_id_generator] = ->(path) { path + '-foo' } +config[:page_id_generator] = ->(path) { "#{path}-foo" } diff --git a/middleman-core/fixtures/page-id-app/config.rb b/middleman-core/fixtures/page-id-app/config.rb index f0b35812..893aa3ea 100644 --- a/middleman-core/fixtures/page-id-app/config.rb +++ b/middleman-core/fixtures/page-id-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + %w[1 2 3].each do |n| proxy "/#{n}.html", '/index.html', id: "page#{n}" end diff --git a/middleman-core/fixtures/proxy-pages-app/config.rb b/middleman-core/fixtures/proxy-pages-app/config.rb index 72dafe00..00606130 100644 --- a/middleman-core/fixtures/proxy-pages-app/config.rb +++ b/middleman-core/fixtures/proxy-pages-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + proxy '/fake.html', '/real.html', layout: false proxy 'fake2.html', '/real.html', layout: false proxy 'fake3.html', 'real.html', layout: false diff --git a/middleman-core/fixtures/redirect-app/config.rb b/middleman-core/fixtures/redirect-app/config.rb index 9bc9b30b..cb33748a 100644 --- a/middleman-core/fixtures/redirect-app/config.rb +++ b/middleman-core/fixtures/redirect-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + redirect 'external.html', to: 'http://example.com' diff --git a/middleman-core/fixtures/relative-assets-app/config.rb b/middleman-core/fixtures/relative-assets-app/config.rb index 86b77274..6552107b 100644 --- a/middleman-core/fixtures/relative-assets-app/config.rb +++ b/middleman-core/fixtures/relative-assets-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :fonts_dir, 'fonts' configure :build do diff --git a/middleman-core/fixtures/sass-assets-path-app/config.rb b/middleman-core/fixtures/sass-assets-path-app/config.rb index 8e0aa398..f1d5474a 100644 --- a/middleman-core/fixtures/sass-assets-path-app/config.rb +++ b/middleman-core/fixtures/sass-assets-path-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + set :sass_assets_paths, [ File.join(root, 'assets', 'stylesheets'), File.join(root, 'my-vendor', 'stylesheets') diff --git a/middleman-core/fixtures/traversal-app/config.rb b/middleman-core/fixtures/traversal-app/config.rb index 58b69c43..cb3cd91e 100644 --- a/middleman-core/fixtures/traversal-app/config.rb +++ b/middleman-core/fixtures/traversal-app/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + proxy '/sub/fake.html', '/proxied.html', ignore: true proxy '/sub/fake2.html', '/proxied.html', ignore: true diff --git a/middleman-core/fixtures/v4-extension-callbacks/config.rb b/middleman-core/fixtures/v4-extension-callbacks/config.rb index 6248a421..49a0068b 100644 --- a/middleman-core/fixtures/v4-extension-callbacks/config.rb +++ b/middleman-core/fixtures/v4-extension-callbacks/config.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class ExtensionOne < ::Middleman::Extension helpers do def extension_two_was_activated diff --git a/middleman-core/fixtures/wildcard-app/config.rb b/middleman-core/fixtures/wildcard-app/config.rb index b59c42d8..e36c26b6 100644 --- a/middleman-core/fixtures/wildcard-app/config.rb +++ b/middleman-core/fixtures/wildcard-app/config.rb @@ -1 +1,3 @@ +# frozen_string_literal: true + page '/admin/*', layout: :admin diff --git a/middleman-core/fixtures/wildcard-directory-index-app/config.rb b/middleman-core/fixtures/wildcard-directory-index-app/config.rb index 1c47b1fb..6a99074f 100644 --- a/middleman-core/fixtures/wildcard-directory-index-app/config.rb +++ b/middleman-core/fixtures/wildcard-directory-index-app/config.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + activate :directory_indexes page '/admin/*', layout: :admin diff --git a/middleman-core/lib/middleman-core.rb b/middleman-core/lib/middleman-core.rb index 4f325982..27d551b3 100644 --- a/middleman-core/lib/middleman-core.rb +++ b/middleman-core/lib/middleman-core.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Setup our load paths libdir = __dir__ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) diff --git a/middleman-core/lib/middleman-core/application.rb b/middleman-core/lib/middleman-core/application.rb index 6fbf97fb..9ff2b441 100644 --- a/middleman-core/lib/middleman-core/application.rb +++ b/middleman-core/lib/middleman-core/application.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'middleman-core/callback_manager' @@ -33,7 +35,7 @@ module Middleman # @return [String] def root r = ENV['MM_ROOT'] ? ENV['MM_ROOT'].dup : ::Middleman::Util.current_directory - r.encode!('UTF-8', 'UTF-8-MAC') if RUBY_PLATFORM =~ /darwin/ + r = r.encode('UTF-8', 'UTF-8-MAC') if RUBY_PLATFORM.match?(/darwin/) r end @@ -191,7 +193,7 @@ module Middleman end, layout: lambda { |file, app| - file[:relative_path].to_s.start_with?('layout.', app.config[:layouts_dir] + '/') + file[:relative_path].to_s.start_with?('layout.', "#{app.config[:layouts_dir]}/") } }, 'Callbacks that can exclude paths from the sitemap' diff --git a/middleman-core/lib/middleman-core/builder.rb b/middleman-core/lib/middleman-core/builder.rb index 9628c266..8734d675 100644 --- a/middleman-core/lib/middleman-core/builder.rb +++ b/middleman-core/lib/middleman-core/builder.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'pathname' require 'fileutils' require 'tempfile' @@ -436,7 +438,10 @@ module Middleman Contract String => String def binary_encode(string) - string.force_encoding('ascii-8bit') if string.respond_to?(:force_encoding) + if string.respond_to?(:force_encoding) + string = string.dup if string.frozen? + string = string.force_encoding('ascii-8bit') + end string end diff --git a/middleman-core/lib/middleman-core/callback_manager.rb b/middleman-core/lib/middleman-core/callback_manager.rb index f58a4f3d..1ec1949d 100644 --- a/middleman-core/lib/middleman-core/callback_manager.rb +++ b/middleman-core/lib/middleman-core/callback_manager.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/config_context.rb b/middleman-core/lib/middleman-core/config_context.rb index c656108d..3d99e225 100644 --- a/middleman-core/lib/middleman-core/config_context.rb +++ b/middleman-core/lib/middleman-core/config_context.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rack/mime' require 'middleman-core/callback_manager' diff --git a/middleman-core/lib/middleman-core/configuration.rb b/middleman-core/lib/middleman-core/configuration.rb index 30305e09..69a7cef7 100644 --- a/middleman-core/lib/middleman-core/configuration.rb +++ b/middleman-core/lib/middleman-core/configuration.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' module Middleman diff --git a/middleman-core/lib/middleman-core/contracts.rb b/middleman-core/lib/middleman-core/contracts.rb index d3e23199..e2f32eb5 100644 --- a/middleman-core/lib/middleman-core/contracts.rb +++ b/middleman-core/lib/middleman-core/contracts.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + if ENV['CONTRACTS'] != 'false' require 'contracts' require 'hamster' @@ -21,7 +23,7 @@ if ENV['CONTRACTS'] != 'false' VectorOf = Contracts::CollectionOf::Factory.new(::Hamster::Vector) class ImmutableHashOf < Contracts::CallableClass - INVALID_KEY_VALUE_PAIR = 'You should provide only one key-value pair to HashOf contract'.freeze + INVALID_KEY_VALUE_PAIR = 'You should provide only one key-value pair to HashOf contract' def initialize(key, value) @key = key @@ -53,9 +55,9 @@ else base.extend self end - # rubocop:disable MethodName + # rubocop:disable Naming/MethodName def Contract(*); end - # rubocop:enable MethodName + # rubocop:enable Naming/MethodName class Callable def self.[](*); end diff --git a/middleman-core/lib/middleman-core/core_extensions.rb b/middleman-core/lib/middleman-core/core_extensions.rb index b4bf8b29..7be425d8 100644 --- a/middleman-core/lib/middleman-core/core_extensions.rb +++ b/middleman-core/lib/middleman-core/core_extensions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/extensions' # File Change Notifier diff --git a/middleman-core/lib/middleman-core/core_extensions/collections.rb b/middleman-core/lib/middleman-core/core_extensions/collections.rb index 1e2c91a8..4ac871dc 100644 --- a/middleman-core/lib/middleman-core/core_extensions/collections.rb +++ b/middleman-core/lib/middleman-core/core_extensions/collections.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'monitor' require 'middleman-core/core_extensions/collections/pagination' require 'middleman-core/core_extensions/collections/step_context' diff --git a/middleman-core/lib/middleman-core/core_extensions/collections/lazy_root.rb b/middleman-core/lib/middleman-core/core_extensions/collections/lazy_root.rb index d86b6466..464d05dc 100644 --- a/middleman-core/lib/middleman-core/core_extensions/collections/lazy_root.rb +++ b/middleman-core/lib/middleman-core/core_extensions/collections/lazy_root.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/core_extensions/collections/lazy_step' module Middleman diff --git a/middleman-core/lib/middleman-core/core_extensions/collections/lazy_step.rb b/middleman-core/lib/middleman-core/core_extensions/collections/lazy_step.rb index d7fec3b0..bd064b99 100644 --- a/middleman-core/lib/middleman-core/core_extensions/collections/lazy_step.rb +++ b/middleman-core/lib/middleman-core/core_extensions/collections/lazy_step.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module CoreExtensions module Collections diff --git a/middleman-core/lib/middleman-core/core_extensions/collections/pagination.rb b/middleman-core/lib/middleman-core/core_extensions/collections/pagination.rb index 5cce42ea..a8e81555 100644 --- a/middleman-core/lib/middleman-core/core_extensions/collections/pagination.rb +++ b/middleman-core/lib/middleman-core/core_extensions/collections/pagination.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/util' module Middleman diff --git a/middleman-core/lib/middleman-core/core_extensions/collections/step_context.rb b/middleman-core/lib/middleman-core/core_extensions/collections/step_context.rb index 0549b826..e8d72e52 100644 --- a/middleman-core/lib/middleman-core/core_extensions/collections/step_context.rb +++ b/middleman-core/lib/middleman-core/core_extensions/collections/step_context.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module CoreExtensions module Collections diff --git a/middleman-core/lib/middleman-core/core_extensions/data.rb b/middleman-core/lib/middleman-core/core_extensions/data.rb index 464d73be..6dfa1180 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/contracts' require 'middleman-core/core_extensions/data/controller' diff --git a/middleman-core/lib/middleman-core/core_extensions/data/controller.rb b/middleman-core/lib/middleman-core/core_extensions/data/controller.rb index 9feb2a34..5b275967 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/controller.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/controller.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/util/data' require 'middleman-core/core_extensions/data/stores/local_file' diff --git a/middleman-core/lib/middleman-core/core_extensions/data/proxies/array.rb b/middleman-core/lib/middleman-core/core_extensions/data/proxies/array.rb index 0f575561..180b97a3 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/proxies/array.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/proxies/array.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' require 'middleman-core/core_extensions/data/proxies/base' diff --git a/middleman-core/lib/middleman-core/core_extensions/data/proxies/base.rb b/middleman-core/lib/middleman-core/core_extensions/data/proxies/base.rb index 2a5d72d9..4a116b1d 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/proxies/base.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/proxies/base.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/util/data' diff --git a/middleman-core/lib/middleman-core/core_extensions/data/proxies/hash.rb b/middleman-core/lib/middleman-core/core_extensions/data/proxies/hash.rb index cb3be832..4936c021 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/proxies/hash.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/proxies/hash.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/core_extensions/data/proxies/base' module Middleman diff --git a/middleman-core/lib/middleman-core/core_extensions/data/stores/base.rb b/middleman-core/lib/middleman-core/core_extensions/data/stores/base.rb index 5edb7901..0dc5ccad 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/stores/base.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/stores/base.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/dependencies/vertices/vertex' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/core_extensions/data/stores/in_memory.rb b/middleman-core/lib/middleman-core/core_extensions/data/stores/in_memory.rb index 246e319f..7da36a22 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/stores/in_memory.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/stores/in_memory.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/contracts' require 'middleman-core/core_extensions/data/stores/base' require 'middleman-core/dependencies/vertices/vertex' diff --git a/middleman-core/lib/middleman-core/core_extensions/data/stores/local_file.rb b/middleman-core/lib/middleman-core/core_extensions/data/stores/local_file.rb index 4461a731..e21f3df7 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data/stores/local_file.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data/stores/local_file.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'set' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/core_extensions/default_helpers.rb b/middleman-core/lib/middleman-core/core_extensions/default_helpers.rb index db14b11c..985f9aee 100644 --- a/middleman-core/lib/middleman-core/core_extensions/default_helpers.rb +++ b/middleman-core/lib/middleman-core/core_extensions/default_helpers.rb @@ -1,10 +1,12 @@ +# frozen_string_literal: true + require 'padrino-helpers' require 'middleman-core/contracts' class Padrino::Helpers::OutputHelpers::ErbHandler # Force Erb capture not to use safebuffer def capture_from_template(*args, &block) - self.output_buffer = '' + self.output_buffer = +'' buf_was = output_buffer raw = yield(*args) captured = template.instance_variable_get(:@_out_buf) @@ -19,13 +21,13 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension def initialize(app, options_hash = ::Middleman::EMPTY_HASH, &block) super - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::OutputHelpers - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::TagHelpers - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::AssetTagHelpers - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::FormHelpers - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::FormatHelpers - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::RenderHelpers - ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::NumberHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::OutputHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::TagHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::AssetTagHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::FormHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::FormatHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::RenderHelpers + ::Middleman::TemplateContext.include ::Padrino::Helpers::NumberHelpers # ::Middleman::TemplateContext.send :include, ::Padrino::Helpers::TranslationHelpers end @@ -149,7 +151,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension # If the basename of the request as no extension, assume we are serving a # directory and join index_file to the path. path = File.join(asset_dir, current_resource.path) - path = path[0..-(File.extname(path).length + 1)] + ".#{asset_ext}" + path = "#{path[0..-(File.extname(path).length + 1)]}.#{asset_ext}" yield path if sitemap.by_path(path) end @@ -178,7 +180,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension c = c.gsub(/[^a-zA-Z0-9\-_]/, '-') # Class names can't start with a digit - c = "#{prefix}#{c}" if c =~ /\A\d/ + c = "#{prefix}#{c}" if /\A\d/.match?(c) c end.join(' ') end @@ -266,7 +268,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension src_def else image_def, size_def = src_def.strip.split(/\s+/) - asset_path(:images, image_def) + ' ' + size_def + "#{asset_path(:images, image_def)} #{size_def}" end end diff --git a/middleman-core/lib/middleman-core/core_extensions/external_helpers.rb b/middleman-core/lib/middleman-core/core_extensions/external_helpers.rb index 30aa245a..e8eee0d1 100644 --- a/middleman-core/lib/middleman-core/core_extensions/external_helpers.rb +++ b/middleman-core/lib/middleman-core/core_extensions/external_helpers.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module CoreExtensions # Load helpers in `helpers/` diff --git a/middleman-core/lib/middleman-core/core_extensions/file_watcher.rb b/middleman-core/lib/middleman-core/core_extensions/file_watcher.rb index 8f7aa759..239e7fba 100644 --- a/middleman-core/lib/middleman-core/core_extensions/file_watcher.rb +++ b/middleman-core/lib/middleman-core/core_extensions/file_watcher.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/contracts' require 'middleman-core/sources' diff --git a/middleman-core/lib/middleman-core/core_extensions/front_matter.rb b/middleman-core/lib/middleman-core/core_extensions/front_matter.rb index 9804751f..5355a0c7 100644 --- a/middleman-core/lib/middleman-core/core_extensions/front_matter.rb +++ b/middleman-core/lib/middleman-core/core_extensions/front_matter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Core Pathname library used for traversal require 'pathname' diff --git a/middleman-core/lib/middleman-core/core_extensions/i18n.rb b/middleman-core/lib/middleman-core/core_extensions/i18n.rb index 877382fe..d9f4cb2c 100644 --- a/middleman-core/lib/middleman-core/core_extensions/i18n.rb +++ b/middleman-core/lib/middleman-core/core_extensions/i18n.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension option :no_fallbacks, false, 'Disable I18n fallbacks' option :locales, nil, 'List of locales, will autodiscover by default' @@ -30,7 +32,7 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension # See https://github.com/svenfuchs/i18n/wiki/Fallbacks unless options[:no_fallbacks] require 'i18n/backend/fallbacks' - ::I18n::Backend::Simple.send(:include, ::I18n::Backend::Fallbacks) + ::I18n::Backend::Simple.include ::I18n::Backend::Fallbacks end locales_file_path = options[:data] @@ -232,13 +234,13 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension # We also generate a map with the same infos, but with the locales as keys. # e.g. {:en => '/en/index.html', :de => '/de/index.html', :es => '/index.html'} locale_map = resources.each_with_object({}) do |resource, map| - map[resource.locale] = '/' + resource.path + map[resource.locale] = "/#{resource.path}" end # Then we add those to the lookup table, so every path has a # cross-reference to any other path in other locales. exposed_paths.each do |path| - @lookup['/' + path] = locale_map + @lookup["/#{path}"] = locale_map end end diff --git a/middleman-core/lib/middleman-core/core_extensions/rendering.rb b/middleman-core/lib/middleman-core/core_extensions/rendering.rb index 33d3d02d..d039f941 100644 --- a/middleman-core/lib/middleman-core/core_extensions/rendering.rb +++ b/middleman-core/lib/middleman-core/core_extensions/rendering.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/template_context' # ERb Support diff --git a/middleman-core/lib/middleman-core/core_extensions/routing.rb b/middleman-core/lib/middleman-core/core_extensions/routing.rb index 4c06ec95..ca51406d 100644 --- a/middleman-core/lib/middleman-core/core_extensions/routing.rb +++ b/middleman-core/lib/middleman-core/core_extensions/routing.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Routing extension module Middleman module CoreExtensions @@ -19,7 +21,7 @@ module Middleman normalized_path = ::File.join(normalized_path, app.config[:index_file]) if normalized_path.end_with?('/') || app.files.by_type(:source).watchers.any? { |w| (w.directory + Pathname(normalized_path)).directory? } end - normalized_path = '/' + ::Middleman::Util.strip_leading_slash(normalized_path) if normalized_path.is_a?(String) + normalized_path = "/#{::Middleman::Util.strip_leading_slash(normalized_path)}" if normalized_path.is_a?(String) resource_list .select { |r| ::Middleman::Util.path_match(normalized_path, "/#{r.path}") } diff --git a/middleman-core/lib/middleman-core/core_extensions/show_exceptions.rb b/middleman-core/lib/middleman-core/core_extensions/show_exceptions.rb index 5c908922..e3f41d45 100644 --- a/middleman-core/lib/middleman-core/core_extensions/show_exceptions.rb +++ b/middleman-core/lib/middleman-core/core_extensions/show_exceptions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rack/show_exceptions' # Support rack/showexceptions during development diff --git a/middleman-core/lib/middleman-core/data_proxy.rb b/middleman-core/lib/middleman-core/data_proxy.rb index 4fa98649..c2da0a76 100644 --- a/middleman-core/lib/middleman-core/data_proxy.rb +++ b/middleman-core/lib/middleman-core/data_proxy.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'middleman-core/core_extensions/data/proxies/array' diff --git a/middleman-core/lib/middleman-core/dependencies.rb b/middleman-core/lib/middleman-core/dependencies.rb index eb5a5d1c..19f6c2a0 100644 --- a/middleman-core/lib/middleman-core/dependencies.rb +++ b/middleman-core/lib/middleman-core/dependencies.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'set' require 'pathname' diff --git a/middleman-core/lib/middleman-core/dependencies/edge.rb b/middleman-core/lib/middleman-core/dependencies/edge.rb index e5eed2a8..a78fb005 100644 --- a/middleman-core/lib/middleman-core/dependencies/edge.rb +++ b/middleman-core/lib/middleman-core/dependencies/edge.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/contracts' require 'middleman-core/dependencies/vertices/vertex' diff --git a/middleman-core/lib/middleman-core/dependencies/graph.rb b/middleman-core/lib/middleman-core/dependencies/graph.rb index efd2684d..77baad1b 100644 --- a/middleman-core/lib/middleman-core/dependencies/graph.rb +++ b/middleman-core/lib/middleman-core/dependencies/graph.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' require 'rgl/adjacency' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/dependencies/vertices.rb b/middleman-core/lib/middleman-core/dependencies/vertices.rb index a430f663..dbe1c0aa 100644 --- a/middleman-core/lib/middleman-core/dependencies/vertices.rb +++ b/middleman-core/lib/middleman-core/dependencies/vertices.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/dependencies/vertices/data_collection_vertex' require 'middleman-core/dependencies/vertices/data_collection_path_vertex' require 'middleman-core/dependencies/vertices/file_vertex' diff --git a/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_path_vertex.rb b/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_path_vertex.rb index 0507bc16..b39f70ba 100644 --- a/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_path_vertex.rb +++ b/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_path_vertex.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'middleman-core/dependencies/vertices/vertex' diff --git a/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_vertex.rb b/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_vertex.rb index f8bd54d1..14f9383d 100644 --- a/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_vertex.rb +++ b/middleman-core/lib/middleman-core/dependencies/vertices/data_collection_vertex.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'middleman-core/dependencies/vertices/vertex' diff --git a/middleman-core/lib/middleman-core/dependencies/vertices/file_vertex.rb b/middleman-core/lib/middleman-core/dependencies/vertices/file_vertex.rb index efb3443e..f4644785 100644 --- a/middleman-core/lib/middleman-core/dependencies/vertices/file_vertex.rb +++ b/middleman-core/lib/middleman-core/dependencies/vertices/file_vertex.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'pathname' require 'middleman-core/contracts' require 'middleman-core/dependencies/vertices/vertex' diff --git a/middleman-core/lib/middleman-core/dependencies/vertices/vertex.rb b/middleman-core/lib/middleman-core/dependencies/vertices/vertex.rb index f9e454fb..f80fcf43 100644 --- a/middleman-core/lib/middleman-core/dependencies/vertices/vertex.rb +++ b/middleman-core/lib/middleman-core/dependencies/vertices/vertex.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'pathname' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/dns_resolver.rb b/middleman-core/lib/middleman-core/dns_resolver.rb index c61b4a76..1baf3610 100644 --- a/middleman-core/lib/middleman-core/dns_resolver.rb +++ b/middleman-core/lib/middleman-core/dns_resolver.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'resolv' require 'middleman-core/dns_resolver/network_resolver' require 'middleman-core/dns_resolver/hosts_resolver' diff --git a/middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb b/middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb index 6429ff20..9c2fd7ba 100644 --- a/middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb +++ b/middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class DnsResolver # Use network name server to resolve ips and names diff --git a/middleman-core/lib/middleman-core/dns_resolver/hosts_resolver.rb b/middleman-core/lib/middleman-core/dns_resolver/hosts_resolver.rb index 79148046..15dabb12 100644 --- a/middleman-core/lib/middleman-core/dns_resolver/hosts_resolver.rb +++ b/middleman-core/lib/middleman-core/dns_resolver/hosts_resolver.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class DnsResolver # Use network name server to resolve ips and names diff --git a/middleman-core/lib/middleman-core/dns_resolver/local_link_resolver.rb b/middleman-core/lib/middleman-core/dns_resolver/local_link_resolver.rb index 82f2c2f2..b82c7acb 100644 --- a/middleman-core/lib/middleman-core/dns_resolver/local_link_resolver.rb +++ b/middleman-core/lib/middleman-core/dns_resolver/local_link_resolver.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/dns_resolver/basic_network_resolver' module Middleman diff --git a/middleman-core/lib/middleman-core/dns_resolver/network_resolver.rb b/middleman-core/lib/middleman-core/dns_resolver/network_resolver.rb index 0994778c..bd17e153 100644 --- a/middleman-core/lib/middleman-core/dns_resolver/network_resolver.rb +++ b/middleman-core/lib/middleman-core/dns_resolver/network_resolver.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/dns_resolver/basic_network_resolver' module Middleman diff --git a/middleman-core/lib/middleman-core/extension.rb b/middleman-core/lib/middleman-core/extension.rb index 4168324e..3e7a33c7 100644 --- a/middleman-core/lib/middleman-core/extension.rb +++ b/middleman-core/lib/middleman-core/extension.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'forwardable' require 'memoist' require 'middleman-core/configuration' diff --git a/middleman-core/lib/middleman-core/extension_manager.rb b/middleman-core/lib/middleman-core/extension_manager.rb index b018c486..36378a29 100644 --- a/middleman-core/lib/middleman-core/extension_manager.rb +++ b/middleman-core/lib/middleman-core/extension_manager.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class ExtensionManager extend Forwardable diff --git a/middleman-core/lib/middleman-core/extensions.rb b/middleman-core/lib/middleman-core/extensions.rb index 24e0d2ee..ee61b3c9 100644 --- a/middleman-core/lib/middleman-core/extensions.rb +++ b/middleman-core/lib/middleman-core/extensions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/extension' require 'middleman-core/util/empty_hash' diff --git a/middleman-core/lib/middleman-core/extensions/asset_hash.rb b/middleman-core/lib/middleman-core/extensions/asset_hash.rb index 86f5e05a..dd621a15 100644 --- a/middleman-core/lib/middleman-core/extensions/asset_hash.rb +++ b/middleman-core/lib/middleman-core/extensions/asset_hash.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/util' class Middleman::Extensions::AssetHash < ::Middleman::Extension diff --git a/middleman-core/lib/middleman-core/extensions/asset_host.rb b/middleman-core/lib/middleman-core/extensions/asset_host.rb index 54465108..03b2a9a8 100644 --- a/middleman-core/lib/middleman-core/extensions/asset_host.rb +++ b/middleman-core/lib/middleman-core/extensions/asset_host.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Middleman::Extensions::AssetHost < ::Middleman::Extension option :host, nil, 'The asset host to use or a Proc to determine asset host', required: true option :exts, nil, 'List of extensions that get cache busters strings appended to them.' diff --git a/middleman-core/lib/middleman-core/extensions/automatic_image_sizes.rb b/middleman-core/lib/middleman-core/extensions/automatic_image_sizes.rb index 16001cde..0318b23b 100644 --- a/middleman-core/lib/middleman-core/extensions/automatic_image_sizes.rb +++ b/middleman-core/lib/middleman-core/extensions/automatic_image_sizes.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Automatic Image Sizes extension class Middleman::Extensions::AutomaticImageSizes < ::Middleman::Extension def initialize(app, options_hash = ::Middleman::EMPTY_HASH, &block) diff --git a/middleman-core/lib/middleman-core/extensions/cache_buster.rb b/middleman-core/lib/middleman-core/extensions/cache_buster.rb index 63f1b546..e737b030 100644 --- a/middleman-core/lib/middleman-core/extensions/cache_buster.rb +++ b/middleman-core/lib/middleman-core/extensions/cache_buster.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # The Cache Buster extension class Middleman::Extensions::CacheBuster < ::Middleman::Extension option :exts, nil, 'List of extensions that get cache busters strings appended to them.' @@ -31,6 +33,6 @@ class Middleman::Extensions::CacheBuster < ::Middleman::Extension Contract String, Or[String, Pathname], Any => String def rewrite_url(asset_path, _dirpath, _request_path) - asset_path + '?' + Time.now.strftime('%s') + "#{asset_path}?#{Time.now.strftime('%s')}" end end diff --git a/middleman-core/lib/middleman-core/extensions/directory_indexes.rb b/middleman-core/lib/middleman-core/extensions/directory_indexes.rb index 980de7f6..f283e847 100644 --- a/middleman-core/lib/middleman-core/extensions/directory_indexes.rb +++ b/middleman-core/lib/middleman-core/extensions/directory_indexes.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' # Directory Indexes extension diff --git a/middleman-core/lib/middleman-core/extensions/external_pipeline.rb b/middleman-core/lib/middleman-core/extensions/external_pipeline.rb index 85d4c7d7..18dbb422 100644 --- a/middleman-core/lib/middleman-core/extensions/external_pipeline.rb +++ b/middleman-core/lib/middleman-core/extensions/external_pipeline.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Middleman::Extensions::ExternalPipeline < ::Middleman::Extension self.supports_multiple_instances = true diff --git a/middleman-core/lib/middleman-core/extensions/gzip.rb b/middleman-core/lib/middleman-core/extensions/gzip.rb index feec82da..a7b1149b 100644 --- a/middleman-core/lib/middleman-core/extensions/gzip.rb +++ b/middleman-core/lib/middleman-core/extensions/gzip.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'padrino-helpers' # This extension Gzips assets and pages when building. @@ -81,7 +83,7 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension Contract String => [Maybe[String], Maybe[Num], Maybe[Num]] def gzip_file(path) input_file = File.open(path, 'rb').read - output_filename = options.overwrite ? path : path + '.gz' + output_filename = options.overwrite ? path : "#{path}.gz" input_file_time = File.mtime(path) # Check if the right file's already there @@ -115,7 +117,7 @@ class Middleman::Extensions::Gzip < ::Middleman::Extension def should_gzip?(path) return false unless @set_of_exts.include?(path.extname) - path = path.sub app.config[:build_dir] + '/', '' + path = path.sub "#{app.config[:build_dir]}/", '' options.ignore.none? { |ignore| Middleman::Util.path_match(ignore, path.to_s) } end end diff --git a/middleman-core/lib/middleman-core/extensions/lorem.rb b/middleman-core/lib/middleman-core/extensions/lorem.rb index 55cea5b0..630a1121 100644 --- a/middleman-core/lib/middleman-core/extensions/lorem.rb +++ b/middleman-core/lib/middleman-core/extensions/lorem.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class Middleman::Extensions::Lorem < ::Middleman::Extension helpers do # Access to the Lorem object @@ -147,7 +149,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension # @return [String] def image(size, options_hash = ::Middleman::EMPTY_HASH) domain = options_hash[:domain] || 'http://placehold.it' - src = "#{domain}/#{size}" + src_array = ["#{domain}/#{size}"] hex = %w[a b c d e f 0 1 2 3 4 5 6 7 8 9] background_color = options_hash[:background_color] color = options_hash[:color] @@ -157,12 +159,12 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension color = hex.sample(6).join end - src << "/#{background_color.sub(/^#/, '')}" if background_color - src << '/ccc' if background_color.nil? && color - src << "/#{color.sub(/^#/, '')}" if color - src << "&text=#{Rack::Utils.escape(options_hash[:text])}" if options_hash[:text] + src_array << "/#{background_color.sub(/^#/, '')}" if background_color + src_array << '/ccc' if background_color.nil? && color + src_array << "/#{color.sub(/^#/, '')}" if color + src_array << "&text=#{Rack::Utils.escape(options_hash[:text])}" if options_hash[:text] - src + src_array.join end # Pick a random item from a given range diff --git a/middleman-core/lib/middleman-core/extensions/minify_css.rb b/middleman-core/lib/middleman-core/extensions/minify_css.rb index 861c36c2..8207f0d9 100644 --- a/middleman-core/lib/middleman-core/extensions/minify_css.rb +++ b/middleman-core/lib/middleman-core/extensions/minify_css.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'memoist' require 'middleman-core/contracts' require 'rack/mime' diff --git a/middleman-core/lib/middleman-core/extensions/minify_javascript.rb b/middleman-core/lib/middleman-core/extensions/minify_javascript.rb index a73f3698..734a01bd 100644 --- a/middleman-core/lib/middleman-core/extensions/minify_javascript.rb +++ b/middleman-core/lib/middleman-core/extensions/minify_javascript.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/contracts' require 'memoist' diff --git a/middleman-core/lib/middleman-core/extensions/relative_assets.rb b/middleman-core/lib/middleman-core/extensions/relative_assets.rb index 9d62e2ad..9a578d46 100644 --- a/middleman-core/lib/middleman-core/extensions/relative_assets.rb +++ b/middleman-core/lib/middleman-core/extensions/relative_assets.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Relative Assets extension class Middleman::Extensions::RelativeAssets < ::Middleman::Extension option :exts, nil, 'List of extensions that get converted to relative paths.' diff --git a/middleman-core/lib/middleman-core/file_renderer.rb b/middleman-core/lib/middleman-core/file_renderer.rb index a6e44435..c4932bd6 100644 --- a/middleman-core/lib/middleman-core/file_renderer.rb +++ b/middleman-core/lib/middleman-core/file_renderer.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'tilt' require 'hamster' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/filter.rb b/middleman-core/lib/middleman-core/filter.rb index 0e13f012..eb6f4672 100644 --- a/middleman-core/lib/middleman-core/filter.rb +++ b/middleman-core/lib/middleman-core/filter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'middleman-core/dependencies/vertices/vertex' diff --git a/middleman-core/lib/middleman-core/inline_url_filter.rb b/middleman-core/lib/middleman-core/inline_url_filter.rb index 0816bd20..d20b668b 100644 --- a/middleman-core/lib/middleman-core/inline_url_filter.rb +++ b/middleman-core/lib/middleman-core/inline_url_filter.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/util' require 'middleman-core/filter' diff --git a/middleman-core/lib/middleman-core/load_paths.rb b/middleman-core/lib/middleman-core/load_paths.rb index b03891c9..87daa53b 100644 --- a/middleman-core/lib/middleman-core/load_paths.rb +++ b/middleman-core/lib/middleman-core/load_paths.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Core Pathname library used for traversal require 'pathname' diff --git a/middleman-core/lib/middleman-core/logger.rb b/middleman-core/lib/middleman-core/logger.rb index 989656b5..657a74ef 100644 --- a/middleman-core/lib/middleman-core/logger.rb +++ b/middleman-core/lib/middleman-core/logger.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Use the Ruby/Rails logger module Middleman # The Middleman Logger diff --git a/middleman-core/lib/middleman-core/meta_pages.rb b/middleman-core/lib/middleman-core/meta_pages.rb index ae734cca..01d63bd5 100644 --- a/middleman-core/lib/middleman-core/meta_pages.rb +++ b/middleman-core/lib/middleman-core/meta_pages.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rack/builder' require 'rack/static' require 'tilt' diff --git a/middleman-core/lib/middleman-core/meta_pages/config_setting.rb b/middleman-core/lib/middleman-core/meta_pages/config_setting.rb index d10a484a..d1fcd3cd 100644 --- a/middleman-core/lib/middleman-core/meta_pages/config_setting.rb +++ b/middleman-core/lib/middleman-core/meta_pages/config_setting.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'pp' module Middleman @@ -12,7 +14,7 @@ module Middleman end def render - content = '' + content = [] key_classes = ['key'] key_classes << 'modified' if @setting.value_set? content << content_tag(:span, @setting.key.pretty_inspect.strip, class: key_classes.join(' ')) @@ -30,7 +32,7 @@ module Middleman end end - content + content.join end end end diff --git a/middleman-core/lib/middleman-core/meta_pages/sitemap_resource.rb b/middleman-core/lib/middleman-core/meta_pages/sitemap_resource.rb index fecaef96..7abd4ab6 100644 --- a/middleman-core/lib/middleman-core/meta_pages/sitemap_resource.rb +++ b/middleman-core/lib/middleman-core/meta_pages/sitemap_resource.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'padrino-helpers' module Middleman @@ -12,9 +14,9 @@ module Middleman end def render - classes = 'resource-details' - classes << ' ignored' if @resource.ignored? - content_tag :div, class: classes do + classes = ['resource-details'] + classes << 'ignored' if @resource.ignored? + content_tag :div, class: classes.join(' ') do content_tag :table do content = '' resource_properties.each do |label, value| diff --git a/middleman-core/lib/middleman-core/meta_pages/sitemap_tree.rb b/middleman-core/lib/middleman-core/meta_pages/sitemap_tree.rb index 66c9b4ca..3b44212d 100644 --- a/middleman-core/lib/middleman-core/meta_pages/sitemap_tree.rb +++ b/middleman-core/lib/middleman-core/meta_pages/sitemap_tree.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/meta_pages/sitemap_resource' module Middleman @@ -35,12 +37,14 @@ module Middleman sorted_children_keys.reduce('') do |content, path_part| subtree = @children[path_part] - content << "
" - content << '' - content << "" unless subtree.is_a? SitemapResource - content << "#{path_part}" - content << subtree.render - content << '
' + additional_content = [] + additional_content << "
" + additional_content << '' + additional_content << "" unless subtree.is_a? SitemapResource + additional_content << "#{path_part}" + additional_content << subtree.render + additional_content << '
' + "#{content}#{additional_content.join}" end end diff --git a/middleman-core/lib/middleman-core/preview_server.rb b/middleman-core/lib/middleman-core/preview_server.rb index 1f969923..c9498362 100644 --- a/middleman-core/lib/middleman-core/preview_server.rb +++ b/middleman-core/lib/middleman-core/preview_server.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'webrick' require 'webrick/https' require 'openssl' @@ -337,7 +339,7 @@ module Middleman class FilteredWebrickLog < ::WEBrick::Log def log(level, data) - super(level, data) unless data =~ /Could not determine content-length of response body./ + super(level, data) unless /Could not determine content-length of response body./.match?(data) end end end diff --git a/middleman-core/lib/middleman-core/preview_server/checks.rb b/middleman-core/lib/middleman-core/preview_server/checks.rb index 6f36b79b..17dc901d 100644 --- a/middleman-core/lib/middleman-core/preview_server/checks.rb +++ b/middleman-core/lib/middleman-core/preview_server/checks.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'ipaddr' module Middleman diff --git a/middleman-core/lib/middleman-core/preview_server/information.rb b/middleman-core/lib/middleman-core/preview_server/information.rb index 1e9a8236..93abee89 100644 --- a/middleman-core/lib/middleman-core/preview_server/information.rb +++ b/middleman-core/lib/middleman-core/preview_server/information.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'ipaddr' require 'middleman-core/preview_server/checks' require 'middleman-core/preview_server/server_hostname' diff --git a/middleman-core/lib/middleman-core/preview_server/network_interface_inventory.rb b/middleman-core/lib/middleman-core/preview_server/network_interface_inventory.rb index 60c4ea98..3138de5f 100644 --- a/middleman-core/lib/middleman-core/preview_server/network_interface_inventory.rb +++ b/middleman-core/lib/middleman-core/preview_server/network_interface_inventory.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/preview_server/server_ip_address' module Middleman diff --git a/middleman-core/lib/middleman-core/preview_server/server_hostname.rb b/middleman-core/lib/middleman-core/preview_server/server_hostname.rb index 29fded66..bf744087 100644 --- a/middleman-core/lib/middleman-core/preview_server/server_hostname.rb +++ b/middleman-core/lib/middleman-core/preview_server/server_hostname.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class PreviewServer class ServerHostname @@ -15,7 +17,7 @@ module Middleman class ServerPlainHostname < SimpleDelegator def to_s - __getobj__.gsub(/\s/, '+') + '.local' + "#{__getobj__.gsub(/\s/, '+')}.local" end def self.match?(name) diff --git a/middleman-core/lib/middleman-core/preview_server/server_information.rb b/middleman-core/lib/middleman-core/preview_server/server_information.rb index 58d62bd2..80fd267c 100644 --- a/middleman-core/lib/middleman-core/preview_server/server_information.rb +++ b/middleman-core/lib/middleman-core/preview_server/server_information.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/dns_resolver' require 'middleman-core/preview_server/information' require 'middleman-core/preview_server/network_interface_inventory' diff --git a/middleman-core/lib/middleman-core/preview_server/server_information_callback_proxy.rb b/middleman-core/lib/middleman-core/preview_server/server_information_callback_proxy.rb index 819d18e8..6eab676a 100644 --- a/middleman-core/lib/middleman-core/preview_server/server_information_callback_proxy.rb +++ b/middleman-core/lib/middleman-core/preview_server/server_information_callback_proxy.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class PreviewServer # This class wraps server information to be used in call back diff --git a/middleman-core/lib/middleman-core/preview_server/server_information_validator.rb b/middleman-core/lib/middleman-core/preview_server/server_information_validator.rb index ff2eeb2e..e96c76ef 100644 --- a/middleman-core/lib/middleman-core/preview_server/server_information_validator.rb +++ b/middleman-core/lib/middleman-core/preview_server/server_information_validator.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class PreviewServer # Validate user input diff --git a/middleman-core/lib/middleman-core/preview_server/server_ip_address.rb b/middleman-core/lib/middleman-core/preview_server/server_ip_address.rb index 7d3c290c..7d315f66 100644 --- a/middleman-core/lib/middleman-core/preview_server/server_ip_address.rb +++ b/middleman-core/lib/middleman-core/preview_server/server_ip_address.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'ipaddr' require 'forwardable' diff --git a/middleman-core/lib/middleman-core/preview_server/server_url.rb b/middleman-core/lib/middleman-core/preview_server/server_url.rb index dedf63a4..ea4a8fdd 100644 --- a/middleman-core/lib/middleman-core/preview_server/server_url.rb +++ b/middleman-core/lib/middleman-core/preview_server/server_url.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'ipaddr' module Middleman diff --git a/middleman-core/lib/middleman-core/preview_server/tcp_port_prober.rb b/middleman-core/lib/middleman-core/preview_server/tcp_port_prober.rb index 8b33b7b8..f5f10625 100644 --- a/middleman-core/lib/middleman-core/preview_server/tcp_port_prober.rb +++ b/middleman-core/lib/middleman-core/preview_server/tcp_port_prober.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman class PreviewServer # Probe for tcp ports diff --git a/middleman-core/lib/middleman-core/profiling.rb b/middleman-core/lib/middleman-core/profiling.rb index c360b113..5d777ab5 100644 --- a/middleman-core/lib/middleman-core/profiling.rb +++ b/middleman-core/lib/middleman-core/profiling.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module Profiling class << self @@ -42,7 +44,7 @@ module Middleman printer = RubyProf::GraphHtmlPrinter.new(result) outfile = File.join('profile', report_name) - outfile = (outfile + '.html') unless outfile.end_with? '.html' + outfile = "#{outfile}.html" unless outfile.end_with? '.html' FileUtils.mkdir_p(File.dirname(outfile)) File.open(outfile, 'w') do |f| printer.print(f, min_percent: 1) diff --git a/middleman-core/lib/middleman-core/rack.rb b/middleman-core/lib/middleman-core/rack.rb index f1e26a53..39f1b496 100644 --- a/middleman-core/lib/middleman-core/rack.rb +++ b/middleman-core/lib/middleman-core/rack.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rack' require 'rack/file' require 'rack/lint' @@ -89,7 +91,10 @@ module Middleman start_time = Time.now request_path = WEBrick::HTTPUtils.unescape(env['PATH_INFO'].dup) - request_path.force_encoding('UTF-8') if request_path.respond_to? :force_encoding + if request_path.respond_to? :force_encoding + request_path = request_path.dup if request_path.frozen? + request_path = request_path.force_encoding('UTF-8') + end request_path = ::Middleman::Util.full_path(request_path, @middleman) full_request_path = File.join(env['SCRIPT_NAME'], request_path) # Path including rack mount diff --git a/middleman-core/lib/middleman-core/renderers/coffee_script.rb b/middleman-core/lib/middleman-core/renderers/coffee_script.rb index 43923246..b0375d86 100644 --- a/middleman-core/lib/middleman-core/renderers/coffee_script.rb +++ b/middleman-core/lib/middleman-core/renderers/coffee_script.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Require gem require 'coffee_script' diff --git a/middleman-core/lib/middleman-core/renderers/erb.rb b/middleman-core/lib/middleman-core/renderers/erb.rb index 0d541db4..e2c0c29b 100644 --- a/middleman-core/lib/middleman-core/renderers/erb.rb +++ b/middleman-core/lib/middleman-core/renderers/erb.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # ERb renderer module Middleman module Renderers @@ -12,7 +14,7 @@ module Middleman # def precompiled_preamble(locals) original = super - "__in_erb_template = true\n" << original + "__in_erb_template = true\n#{original}" # .rpartition("\n").first << "#{@outvar} = _buf = ::ActiveSupport::SafeBuffer.new\n" end end diff --git a/middleman-core/lib/middleman-core/renderers/haml.rb b/middleman-core/lib/middleman-core/renderers/haml.rb index 989bbc9a..d96583f9 100644 --- a/middleman-core/lib/middleman-core/renderers/haml.rb +++ b/middleman-core/lib/middleman-core/renderers/haml.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Require gem require 'haml' @@ -10,9 +12,7 @@ module SafeTemplate end end -class Tilt::HamlTemplate - include SafeTemplate -end +::Tilt::HamlTemplate.include SafeTemplate module Middleman module Renderers @@ -64,7 +64,7 @@ module Middleman ::Tilt.prefer(::Middleman::Renderers::HamlTemplate, :haml) # Add haml helpers to context - ::Middleman::TemplateContext.send :include, ::Haml::Helpers + ::Middleman::TemplateContext.include ::Haml::Helpers end def add_exposed_to_context(context) diff --git a/middleman-core/lib/middleman-core/renderers/kramdown.rb b/middleman-core/lib/middleman-core/renderers/kramdown.rb index 9e990dca..823b1ef6 100644 --- a/middleman-core/lib/middleman-core/renderers/kramdown.rb +++ b/middleman-core/lib/middleman-core/renderers/kramdown.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'kramdown' module Middleman @@ -36,8 +38,8 @@ module Middleman content = inner(el, indent) if el.attr['href'].start_with?('mailto:') - mail_addr = el.attr['href'].sub(/\Amailto:/, '') - href = obfuscate('mailto') << ':' << obfuscate(mail_addr) + mail_addr = el.attr['href'].delete_prefix('mailto:') + href = "#{obfuscate('mailto')}:#{obfuscate(mail_addr)}" content = obfuscate(content) if content == mail_addr return %(#{content}) end diff --git a/middleman-core/lib/middleman-core/renderers/less.rb b/middleman-core/lib/middleman-core/renderers/less.rb index b4db2fb3..4899a39c 100644 --- a/middleman-core/lib/middleman-core/renderers/less.rb +++ b/middleman-core/lib/middleman-core/renderers/less.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'less' module Middleman diff --git a/middleman-core/lib/middleman-core/renderers/liquid.rb b/middleman-core/lib/middleman-core/renderers/liquid.rb index a15358fa..31822ada 100644 --- a/middleman-core/lib/middleman-core/renderers/liquid.rb +++ b/middleman-core/lib/middleman-core/renderers/liquid.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Require Gem require 'liquid' diff --git a/middleman-core/lib/middleman-core/renderers/markdown.rb b/middleman-core/lib/middleman-core/renderers/markdown.rb index a944bcaa..2e4cc783 100644 --- a/middleman-core/lib/middleman-core/renderers/markdown.rb +++ b/middleman-core/lib/middleman-core/renderers/markdown.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module Renderers # Markdown renderer diff --git a/middleman-core/lib/middleman-core/renderers/redcarpet.rb b/middleman-core/lib/middleman-core/renderers/redcarpet.rb index 81c7af90..bb504ce6 100644 --- a/middleman-core/lib/middleman-core/renderers/redcarpet.rb +++ b/middleman-core/lib/middleman-core/renderers/redcarpet.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'redcarpet' module Middleman @@ -75,7 +77,7 @@ module Middleman scope.image_tag(link, title: title, alt: alt_text) else link_string = link.dup - link_string << %("#{title}") if title && !title.empty? && title != alt_text + link_string = %(#{link_string}"#{title}") if title && !title.empty? && title != alt_text "![#{alt_text}](#{link_string})" end end @@ -88,7 +90,7 @@ module Middleman scope.link_to(content, link, attributes) else link_string = link.dup - link_string << %("#{title}") if title && !title.empty? && title != alt_text + link_string = %(#{link_string}"#{title}") if title && !title.empty? && title != alt_text "[#{content}](#{link_string})" end end diff --git a/middleman-core/lib/middleman-core/renderers/sass.rb b/middleman-core/lib/middleman-core/renderers/sass.rb index 77f78e4d..84ecf4a5 100644 --- a/middleman-core/lib/middleman-core/renderers/sass.rb +++ b/middleman-core/lib/middleman-core/renderers/sass.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'sassc' require 'middleman-core/dependencies' @@ -7,7 +9,7 @@ module Middleman module Renderers # Sass renderer class Sass < ::Middleman::Extension - DEFAULT_SASS_CACHE_LOCATION = './.sass-cache'.freeze + DEFAULT_SASS_CACHE_LOCATION = './.sass-cache' opts = { output_style: :nested } opts[:line_comments] = false if ENV['TEST'] @@ -69,7 +71,7 @@ module Middleman def exception_to_css(e) header = "#{e.class}: #{e.message}" - <<~END + error_msg = <<~END /* #{header.gsub('*/', '*\\/')} @@ -80,6 +82,8 @@ module Middleman font-family: monospace; content: "#{header.gsub('"', '\"').gsub("\n", '\\A ')}"; } END + error_msg = error_msg.dup if error_msg.frozen? # slim will fail, if we pass frozen string as render result + error_msg end def vertices diff --git a/middleman-core/lib/middleman-core/renderers/sass_functions.rb b/middleman-core/lib/middleman-core/renderers/sass_functions.rb index 34c73aa4..190fd839 100644 --- a/middleman-core/lib/middleman-core/renderers/sass_functions.rb +++ b/middleman-core/lib/middleman-core/renderers/sass_functions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module Sass module Functions @@ -112,4 +114,4 @@ module Middleman end end -::SassC::Script::Functions.send :include, ::Middleman::Sass::Functions +::SassC::Script::Functions.include ::Middleman::Sass::Functions diff --git a/middleman-core/lib/middleman-core/renderers/slim.rb b/middleman-core/lib/middleman-core/renderers/slim.rb index 4937f910..a6d94ad1 100644 --- a/middleman-core/lib/middleman-core/renderers/slim.rb +++ b/middleman-core/lib/middleman-core/renderers/slim.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Load gem require 'slim' @@ -7,9 +9,7 @@ module SafeTemplate end end -class ::Slim::Template - include SafeTemplate - +module SlimTemplatePatch def initialize(file, line, opts, &block) if opts.key?(:context) ::Slim::Embedded::SassEngine.disable_option_validator! @@ -22,10 +22,14 @@ class ::Slim::Template end def precompiled_preamble(locals) - "__in_slim_template = true\n" << super + original = super + "__in_slim_template = true\n#{original}" end end +::Slim::Template.include SafeTemplate +::Slim::Template.prepend SlimTemplatePatch + module Middleman module Renderers # Slim renderer diff --git a/middleman-core/lib/middleman-core/renderers/stylus.rb b/middleman-core/lib/middleman-core/renderers/stylus.rb index c116aa3f..0f54dd1c 100644 --- a/middleman-core/lib/middleman-core/renderers/stylus.rb +++ b/middleman-core/lib/middleman-core/renderers/stylus.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'stylus' require 'stylus/tilt' diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/ignores.rb b/middleman-core/lib/middleman-core/sitemap/extensions/ignores.rb index f7060d75..70d42b56 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/ignores.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/ignores.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module Sitemap module Extensions diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/import.rb b/middleman-core/lib/middleman-core/sitemap/extensions/import.rb index 359f2fec..98e221cf 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/import.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/import.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/move_file.rb b/middleman-core/lib/middleman-core/sitemap/extensions/move_file.rb index 136c51ba..15e1d610 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/move_file.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/move_file.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/sitemap/resource' require 'middleman-core/core_extensions/collections/step_context' diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb b/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb index 1ff546bf..55db0e27 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'set' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/proxies.rb b/middleman-core/lib/middleman-core/sitemap/extensions/proxies.rb index fbd70954..d4cc5da5 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/proxies.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/proxies.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/sitemap/resource' require 'middleman-core/core_extensions/collections/step_context' diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/redirects.rb b/middleman-core/lib/middleman-core/sitemap/extensions/redirects.rb index f54e46f9..e37a57e5 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/redirects.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/redirects.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/sitemap/resource' require 'middleman-core/contracts' diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/request_endpoints.rb b/middleman-core/lib/middleman-core/sitemap/extensions/request_endpoints.rb index 7f3337d6..a25818d8 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/request_endpoints.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/request_endpoints.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/sitemap/resource' module Middleman diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/traversal.rb b/middleman-core/lib/middleman-core/sitemap/extensions/traversal.rb index 6ea2a394..51069da4 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/traversal.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/traversal.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman module Sitemap module Extensions @@ -146,7 +148,7 @@ module Middleman # (e.g., for 'gallery.html' this would return 'gallery/') # @return [String] def eponymous_directory_path - path.sub(ext, '/').sub(%r{/$}, '') + '/' + "#{path.sub(ext, '/').sub(%r{/$}, '')}/" end end end diff --git a/middleman-core/lib/middleman-core/sitemap/resource.rb b/middleman-core/lib/middleman-core/sitemap/resource.rb index e54d9d5c..d1e1f1dc 100644 --- a/middleman-core/lib/middleman-core/sitemap/resource.rb +++ b/middleman-core/lib/middleman-core/sitemap/resource.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rack/mime' require 'set' require 'hamster' @@ -72,11 +74,11 @@ module Middleman @metadata_options = ::Middleman::EMPTY_HASH # Locals are local variables for rendering this resource's template - @metadata_locals = ::Middleman::EMPTY_HASH + @metadata_locals = ::Middleman::EMPTY_HASH # Page are data that is exposed through this resource's data member. # Note: It is named 'page' for backwards compatibility with older MM. - @metadata_page = ::Middleman::EMPTY_HASH + @metadata_page = ::Middleman::EMPTY_HASH # Recursively enhanced page data cache @page_data = nil diff --git a/middleman-core/lib/middleman-core/sitemap/resource_list_container.rb b/middleman-core/lib/middleman-core/sitemap/resource_list_container.rb index 74b542ec..b52e4ceb 100644 --- a/middleman-core/lib/middleman-core/sitemap/resource_list_container.rb +++ b/middleman-core/lib/middleman-core/sitemap/resource_list_container.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'middleman-core/sitemap/resource' diff --git a/middleman-core/lib/middleman-core/sitemap/store.rb b/middleman-core/lib/middleman-core/sitemap/store.rb index 3170ebd0..d2353265 100644 --- a/middleman-core/lib/middleman-core/sitemap/store.rb +++ b/middleman-core/lib/middleman-core/sitemap/store.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Used for merging results of metadata callbacks require 'monitor' require 'hamster' diff --git a/middleman-core/lib/middleman-core/sources.rb b/middleman-core/lib/middleman-core/sources.rb index ab603d8a..15ec44ed 100644 --- a/middleman-core/lib/middleman-core/sources.rb +++ b/middleman-core/lib/middleman-core/sources.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'hamster' require 'middleman-core/contracts' require 'set' diff --git a/middleman-core/lib/middleman-core/sources/source_watcher.rb b/middleman-core/lib/middleman-core/sources/source_watcher.rb index 0de06054..1e349516 100644 --- a/middleman-core/lib/middleman-core/sources/source_watcher.rb +++ b/middleman-core/lib/middleman-core/sources/source_watcher.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Watcher Library require 'listen' require 'middleman-core/contracts' @@ -135,7 +137,7 @@ module Middleman # @return [Middleman::SourceFile, nil] Contract Or[String, Pathname], Maybe[Bool] => Maybe[IsA['Middleman::SourceFile']] def find(path, glob = false) - path = path.to_s.encode!('UTF-8', 'UTF-8-MAC') if RUBY_PLATFORM =~ /darwin/ + path = path.to_s.encode('UTF-8', 'UTF-8-MAC') if RUBY_PLATFORM.match?(/darwin/) p = Pathname(path) @@ -342,7 +344,7 @@ module Middleman Contract Pathname => Pathname def strip_extensions(p) p = p.sub_ext('') while ::Tilt[p.to_s] || p.extname == '.html' - Pathname(p.to_s + '.*') + Pathname("#{p}.*") end # Check if this watcher should care about a file. diff --git a/middleman-core/lib/middleman-core/step_definitions.rb b/middleman-core/lib/middleman-core/step_definitions.rb index b282356a..69ced619 100644 --- a/middleman-core/lib/middleman-core/step_definitions.rb +++ b/middleman-core/lib/middleman-core/step_definitions.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'aruba/cucumber' require 'middleman-core/step_definitions/middleman_steps' require 'middleman-core/step_definitions/builder_steps' diff --git a/middleman-core/lib/middleman-core/step_definitions/builder_steps.rb b/middleman-core/lib/middleman-core/step_definitions/builder_steps.rb index c12c3f7e..bae5674c 100644 --- a/middleman-core/lib/middleman-core/step_definitions/builder_steps.rb +++ b/middleman-core/lib/middleman-core/step_definitions/builder_steps.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'fileutils' Before do diff --git a/middleman-core/lib/middleman-core/step_definitions/commandline_steps.rb b/middleman-core/lib/middleman-core/step_definitions/commandline_steps.rb index 15678ab2..c6996470 100644 --- a/middleman-core/lib/middleman-core/step_definitions/commandline_steps.rb +++ b/middleman-core/lib/middleman-core/step_definitions/commandline_steps.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + When /^I stop (?:middleman|all commands) if the output( of the last command)? contains:$/ do |_last_command, expected| step 'I wait for the output to contain:', expected all_commands.each(&:terminate) @@ -16,8 +18,8 @@ When /^I wait for the output to contain:$/ do |expected| rescue ChildProcess::TimeoutError, TimeoutError @interactive.terminate ensure - aruba.announcer.stdout @interactive.stdout - aruba.announcer.stderr @interactive.stderr + aruba.announcer.announce(:stdout, @interactive.stdout) + aruba.announcer.announce(:stderr, @interactive.stderr) end # Make it just a long running process diff --git a/middleman-core/lib/middleman-core/step_definitions/middleman_steps.rb b/middleman-core/lib/middleman-core/step_definitions/middleman_steps.rb index 41dc57ce..216e2040 100644 --- a/middleman-core/lib/middleman-core/step_definitions/middleman_steps.rb +++ b/middleman-core/lib/middleman-core/step_definitions/middleman_steps.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'fileutils' Given /^app "([^\"]*)" is using config "([^\"]*)"$/ do |_path, config_name| diff --git a/middleman-core/lib/middleman-core/step_definitions/server_steps.rb b/middleman-core/lib/middleman-core/step_definitions/server_steps.rb index 2a6fe70f..69e16250 100644 --- a/middleman-core/lib/middleman-core/step_definitions/server_steps.rb +++ b/middleman-core/lib/middleman-core/step_definitions/server_steps.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/rack' require 'rspec/expectations' require 'capybara/cucumber' diff --git a/middleman-core/lib/middleman-core/template_context.rb b/middleman-core/lib/middleman-core/template_context.rb index deff8347..988a5ec9 100644 --- a/middleman-core/lib/middleman-core/template_context.rb +++ b/middleman-core/lib/middleman-core/template_context.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'pathname' require 'hamster' require 'middleman-core/file_renderer' @@ -159,7 +161,7 @@ module Middleman if current_resource resource = current_resource - current_dir = resource.file_descriptor[:relative_path].dirname + current_dir = resource.file_descriptor[:relative_path].dirname relative_dir = current_dir + Pathname(non_root) relative_dir_no_underscore = current_dir + Pathname(non_root_no_underscore) diff --git a/middleman-core/lib/middleman-core/template_renderer.rb b/middleman-core/lib/middleman-core/template_renderer.rb index 9c29ca67..8e8c1b08 100644 --- a/middleman-core/lib/middleman-core/template_renderer.rb +++ b/middleman-core/lib/middleman-core/template_renderer.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'tilt' require 'hamster' require 'middleman-core/contracts' @@ -76,7 +78,7 @@ module Middleman preferred_engines.each do |preferred_engine| path_with_ext = relative_path.dup - path_with_ext << ('.' + preferred_engine) unless preferred_engine.nil? + path_with_ext = "#{path_with_ext}.#{preferred_engine}" unless preferred_engine.nil? globbing = preferred_engine == '*' diff --git a/middleman-core/lib/middleman-core/util.rb b/middleman-core/lib/middleman-core/util.rb index 6f5f790f..d1cc266d 100644 --- a/middleman-core/lib/middleman-core/util.rb +++ b/middleman-core/lib/middleman-core/util.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/application' require 'middleman-core/sources' require 'middleman-core/sitemap/resource' diff --git a/middleman-core/lib/middleman-core/util/binary.rb b/middleman-core/lib/middleman-core/util/binary.rb index 906696ec..ec2e7edf 100644 --- a/middleman-core/lib/middleman-core/util/binary.rb +++ b/middleman-core/lib/middleman-core/util/binary.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Template and Mime detection require 'tilt' require 'rack/mime' @@ -358,7 +360,7 @@ module Middleman file = ::File.open(path) first_line = file.gets - first_line = file.gets if first_line =~ /\A(?:[^\r\n]*coding:[^\r\n]*\r?\n)/ + first_line = file.gets if /\A(?:[^\r\n]*coding:[^\r\n]*\r?\n)/.match?(first_line) file.close diff --git a/middleman-core/lib/middleman-core/util/data.rb b/middleman-core/lib/middleman-core/util/data.rb index f17d32aa..5238a816 100644 --- a/middleman-core/lib/middleman-core/util/data.rb +++ b/middleman-core/lib/middleman-core/util/data.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'yaml' require 'json' require 'pathname' diff --git a/middleman-core/lib/middleman-core/util/empty_hash.rb b/middleman-core/lib/middleman-core/util/empty_hash.rb index d8fa20f7..39150607 100644 --- a/middleman-core/lib/middleman-core/util/empty_hash.rb +++ b/middleman-core/lib/middleman-core/util/empty_hash.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Middleman EMPTY_HASH = {}.freeze end diff --git a/middleman-core/lib/middleman-core/util/files.rb b/middleman-core/lib/middleman-core/util/files.rb index 752ef947..9f681987 100644 --- a/middleman-core/lib/middleman-core/util/files.rb +++ b/middleman-core/lib/middleman-core/util/files.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'digest/sha1' require 'set' require 'open3' @@ -40,7 +42,7 @@ module Middleman def glob_directory(path) results = ::Dir[path] - return results unless RUBY_PLATFORM =~ /darwin/ + return results unless RUBY_PLATFORM.match?(/darwin/) results.map { |r| r.encode('UTF-8', 'UTF-8-MAC') } end @@ -52,7 +54,7 @@ module Middleman def current_directory result = ::Dir.pwd - return result unless RUBY_PLATFORM =~ /darwin/ + return result unless RUBY_PLATFORM.match?(/darwin/) result.encode('UTF-8', 'UTF-8-MAC') end diff --git a/middleman-core/lib/middleman-core/util/paths.rb b/middleman-core/lib/middleman-core/util/paths.rb index f2a99d4f..b6939efe 100644 --- a/middleman-core/lib/middleman-core/util/paths.rb +++ b/middleman-core/lib/middleman-core/util/paths.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Core Pathname library used for traversal require 'pathname' require 'addressable/uri' @@ -95,7 +97,7 @@ module Middleman source = source.to_s.tr(' ', '') ignore_extension = IGNORED_ASSET_EXTENSIONS.include? kind # don't append extension - source << ".#{kind}" unless ignore_extension || source.end_with?(".#{kind}") + source = "#{source}.#{kind}" unless ignore_extension || source.end_with?(".#{kind}") asset_folder = '' if source.start_with?('/') # absolute path asset_url(app, source, asset_folder, options_hash) @@ -194,7 +196,7 @@ module Middleman elsif this_resource && uri.path && !uri.host # Handle relative urls url_path = Pathname(uri.path) - current_source_dir = Pathname('/' + this_resource.path).dirname + current_source_dir = Pathname("/#{this_resource.path}").dirname url_path = current_source_dir.join(url_path) if url_path.relative? resource = app.sitemap.by_path(url_path.to_s) if resource @@ -202,7 +204,7 @@ module Middleman else # Try to find a resource relative to destination paths url_path = Pathname(uri.path) - current_source_dir = Pathname('/' + this_resource.destination_path).dirname + current_source_dir = Pathname("/#{this_resource.destination_path}").dirname url_path = current_source_dir.join(url_path) if url_path.relative? resource = app.sitemap.by_destination_path(url_path.to_s) resource_url = resource.url if resource @@ -257,9 +259,9 @@ module Middleman end if resource - '/' + resource.destination_path + "/#{resource.destination_path}" else - '/' + normalize_path(path) + "/#{normalize_path(path)}" end end @@ -275,11 +277,11 @@ module Middleman # if we've been asked to. if relative # Output urls relative to the destination path, not the source path - current_dir = Pathname('/' + curr_resource.destination_path).dirname + current_dir = Pathname("/#{curr_resource.destination_path}").dirname relative_path = Pathname(resource_url).relative_path_from(current_dir).to_s # Put back the trailing slash to avoid unnecessary Apache redirects - relative_path << '/' if resource_url.end_with?('/') && !relative_path.end_with?('/') + relative_path = "#{relative_path}/" if resource_url.end_with?('/') && !relative_path.end_with?('/') relative_path else diff --git a/middleman-core/lib/middleman-core/util/rack.rb b/middleman-core/lib/middleman-core/util/rack.rb index 1f771a31..69538f60 100644 --- a/middleman-core/lib/middleman-core/util/rack.rb +++ b/middleman-core/lib/middleman-core/util/rack.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/contracts' module Middleman @@ -13,11 +15,11 @@ module Middleman Contract RespondTo[:each] => String def extract_response_text(response) # The rack spec states all response bodies must respond to each - result = '' + result = [] response.each do |part, _| result << part end - result + result.join end Contract String, String, SetOf[String], IsA['::Middleman::Application'], Proc => String @@ -32,7 +34,7 @@ module Middleman asset_path = Regexp.last_match(2) if asset_path.start_with?(url_fn_prefix) - opening_character << url_fn_prefix + opening_character = "#{opening_character}#{url_fn_prefix}" asset_path = asset_path[url_fn_prefix.length..-1] end diff --git a/middleman-core/lib/middleman-core/util/uri_templates.rb b/middleman-core/lib/middleman-core/util/uri_templates.rb index 1d8f04d6..db0cd43f 100644 --- a/middleman-core/lib/middleman-core/util/uri_templates.rb +++ b/middleman-core/lib/middleman-core/util/uri_templates.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # For URI templating require 'addressable/uri' require 'addressable/template' @@ -46,6 +48,7 @@ module Middleman # Reimplementation of http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-parameterize that preserves un-transliterate-able multibyte chars. parameterized_string = ::ActiveSupport::Inflector.transliterate(str.to_s).downcase + parameterized_string = parameterized_string.dup if parameterized_string.frozen? parameterized_string.gsub!(/[^a-z0-9\-_\?]+/, sep) parameterized_string.chars.to_a.each_with_index do |char, i| diff --git a/middleman-core/lib/middleman-core/version.rb b/middleman-core/lib/middleman-core/version.rb index dc0b4402..b4f3b4b8 100644 --- a/middleman-core/lib/middleman-core/version.rb +++ b/middleman-core/lib/middleman-core/version.rb @@ -1,5 +1,7 @@ +# frozen_string_literal: true + module Middleman # Current Version # @return [String] - VERSION = '5.0.0.rc.1'.freeze unless const_defined?(:VERSION) + VERSION = '5.0.0.rc.1' unless const_defined?(:VERSION) end diff --git a/middleman-core/lib/middleman/rack.rb b/middleman-core/lib/middleman/rack.rb index a47490d9..109fe055 100644 --- a/middleman-core/lib/middleman/rack.rb +++ b/middleman-core/lib/middleman/rack.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core/load_paths' ::Middleman.setup_load_paths diff --git a/middleman-core/spec/middleman-core/callbacks_spec.rb b/middleman-core/spec/middleman-core/callbacks_spec.rb index b0aad5e9..585806c6 100644 --- a/middleman-core/spec/middleman-core/callbacks_spec.rb +++ b/middleman-core/spec/middleman-core/callbacks_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # require 'spec_helper' require 'middleman-core/callback_manager' diff --git a/middleman-core/spec/middleman-core/core_extensions/data_spec.rb b/middleman-core/spec/middleman-core/core_extensions/data_spec.rb index f122e16a..366c6ba7 100644 --- a/middleman-core/spec/middleman-core/core_extensions/data_spec.rb +++ b/middleman-core/spec/middleman-core/core_extensions/data_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core/core_extensions' require 'middleman-core/core_extensions/data' diff --git a/middleman-core/spec/middleman-core/data_proxy_spec.rb b/middleman-core/spec/middleman-core/data_proxy_spec.rb index 2aea1aa7..39cf3501 100644 --- a/middleman-core/spec/middleman-core/data_proxy_spec.rb +++ b/middleman-core/spec/middleman-core/data_proxy_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core/core_extensions/data/proxies/hash' require 'middleman-core/util/data' diff --git a/middleman-core/spec/middleman-core/dependencies_spec.rb b/middleman-core/spec/middleman-core/dependencies_spec.rb index 43010eab..321ab156 100644 --- a/middleman-core/spec/middleman-core/dependencies_spec.rb +++ b/middleman-core/spec/middleman-core/dependencies_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core/dependencies' diff --git a/middleman-core/spec/middleman-core/dns_resolver_spec.rb b/middleman-core/spec/middleman-core/dns_resolver_spec.rb index 5c5f8c89..c520f767 100644 --- a/middleman-core/spec/middleman-core/dns_resolver_spec.rb +++ b/middleman-core/spec/middleman-core/dns_resolver_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core/dns_resolver' diff --git a/middleman-core/spec/middleman-core/preview_server/server_hostname_spec.rb b/middleman-core/spec/middleman-core/preview_server/server_hostname_spec.rb index b0dc6a07..cf6c6ed4 100644 --- a/middleman-core/spec/middleman-core/preview_server/server_hostname_spec.rb +++ b/middleman-core/spec/middleman-core/preview_server/server_hostname_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core/preview_server/server_hostname' diff --git a/middleman-core/spec/middleman-core/preview_server/server_ip_address_spec.rb b/middleman-core/spec/middleman-core/preview_server/server_ip_address_spec.rb index a82fec63..5aedd85a 100644 --- a/middleman-core/spec/middleman-core/preview_server/server_ip_address_spec.rb +++ b/middleman-core/spec/middleman-core/preview_server/server_ip_address_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core/preview_server/server_ip_address' diff --git a/middleman-core/spec/middleman-core/util_spec.rb b/middleman-core/spec/middleman-core/util_spec.rb index e4383463..4afe1e2b 100644 --- a/middleman-core/spec/middleman-core/util_spec.rb +++ b/middleman-core/spec/middleman-core/util_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'spec_helper' require 'middleman-core' @@ -63,7 +65,7 @@ describe Middleman::Util do it 'returns Array with strings, or IndifferentHash, true, false' do indifferent_hash = { test: 'subject' } regular_hash = { regular: 'hash' } - input = [indifferent_hash, regular_hash, true, false] + input = [indifferent_hash, regular_hash, true, false] subject = Middleman::Util.recursively_enhance input expect(subject[1].regular).to eq 'hash' diff --git a/middleman-core/spec/spec_helper.rb b/middleman-core/spec/spec_helper.rb index d91c492e..619bdba7 100644 --- a/middleman-core/spec/spec_helper.rb +++ b/middleman-core/spec/spec_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'active_support/all' require 'simplecov' diff --git a/middleman-core/spec/support/given.rb b/middleman-core/spec/support/given.rb index 8e0fe5f2..547cc52c 100644 --- a/middleman-core/spec/support/given.rb +++ b/middleman-core/spec/support/given.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module Given ROOT = File.expand_path('../..', __dir__) TMP = File.join(ROOT, 'tmp') diff --git a/middleman/Rakefile b/middleman/Rakefile index 74d040b1..7bb8554d 100644 --- a/middleman/Rakefile +++ b/middleman/Rakefile @@ -1,3 +1,5 @@ -RAKE_ROOT = __FILE__.freeze -GEM_NAME = 'middleman'.freeze +# frozen_string_literal: true + +RAKE_ROOT = __FILE__ +GEM_NAME = 'middleman' require File.expand_path(File.dirname(__FILE__) + '/../gem_rake_helper') diff --git a/middleman/lib/middleman.rb b/middleman/lib/middleman.rb index 878b9c59..ced27435 100644 --- a/middleman/lib/middleman.rb +++ b/middleman/lib/middleman.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'middleman-core' # Make the VERSION string available