diff --git a/middleman-core/lib/middleman-core/config_context.rb b/middleman-core/lib/middleman-core/config_context.rb index 90922ea9..e02232c4 100644 --- a/middleman-core/lib/middleman-core/config_context.rb +++ b/middleman-core/lib/middleman-core/config_context.rb @@ -32,9 +32,10 @@ module Middleman def include_environment(name) path = File.dirname(__FILE__) other_config = File.join(path, name.to_s) - if File.exist? other_config - instance_eval File.read(other_config), other_config, 1 - end + + return unless File.exist? other_config + + instance_eval File.read(other_config), other_config, 1 end def ready(&block) 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 6b755df5..3934f11f 100644 --- a/middleman-core/lib/middleman-core/core_extensions/external_helpers.rb +++ b/middleman-core/lib/middleman-core/core_extensions/external_helpers.rb @@ -17,16 +17,16 @@ module Middleman def after_configuration helpers_path = File.join(app.root, app.config[:helpers_dir]) - if File.exist?(helpers_path) - Dir[File.join(helpers_path, app.config[:helpers_filename_glob])].each do |filename| - module_name = app.config[:helpers_filename_to_module_name_proc].call(filename) - next unless module_name + return unless File.exist?(helpers_path) - require filename - next unless Object.const_defined?(module_name.to_sym) + Dir[File.join(helpers_path, app.config[:helpers_filename_glob])].each do |filename| + module_name = app.config[:helpers_filename_to_module_name_proc].call(filename) + next unless module_name - app.template_context_class.send :include, Object.const_get(module_name.to_sym) - end + require filename + next unless Object.const_defined?(module_name.to_sym) + + app.template_context_class.send :include, Object.const_get(module_name.to_sym) end end end diff --git a/middleman-core/lib/middleman-core/core_extensions/i18n.rb b/middleman-core/lib/middleman-core/core_extensions/i18n.rb index cba2ffe6..c90e3263 100644 --- a/middleman-core/lib/middleman-core/core_extensions/i18n.rb +++ b/middleman-core/lib/middleman-core/core_extensions/i18n.rb @@ -81,9 +81,9 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension # This is for backwards compatibility with the old provides_metadata-based code # that used to be in this extension, but I don't know how much sense it makes. - unless resource.options[:lang] - resource.add_metadata options: { lang: @mount_at_root }, locals: { lang: @mount_at_root } - end + next if resource.options[:lang] + + resource.add_metadata options: { lang: @mount_at_root }, locals: { lang: @mount_at_root } end resources + new_resources diff --git a/middleman-core/lib/middleman-core/core_extensions/routing.rb b/middleman-core/lib/middleman-core/core_extensions/routing.rb index da0cead6..b7f4ee52 100644 --- a/middleman-core/lib/middleman-core/core_extensions/routing.rb +++ b/middleman-core/lib/middleman-core/core_extensions/routing.rb @@ -61,9 +61,7 @@ module Middleman end end - if path.is_a?(String) - path = '/' + Util.strip_leading_slash(path) - end + path = '/' + Util.strip_leading_slash(path) if path.is_a?(String) @page_configs << [path, metadata] end diff --git a/middleman-core/lib/middleman-core/extension.rb b/middleman-core/lib/middleman-core/extension.rb index ea19e601..734d8123 100644 --- a/middleman-core/lib/middleman-core/extension.rb +++ b/middleman-core/lib/middleman-core/extension.rb @@ -233,10 +233,11 @@ module Middleman @app = app ext = self - if ext.respond_to?(:instance_available) - @klass.instance_available do - ext.instance_available - end + + return unless ext.respond_to?(:instance_available) + + @klass.instance_available do + ext.instance_available end end diff --git a/middleman-core/lib/middleman-core/extensions.rb b/middleman-core/lib/middleman-core/extensions.rb index a33bf203..dac9ea75 100644 --- a/middleman-core/lib/middleman-core/extensions.rb +++ b/middleman-core/lib/middleman-core/extensions.rb @@ -67,10 +67,10 @@ module Middleman raise 'You must provide a Middleman::Extension or a block that returns a Middleman::Extension' end - if options[:auto_activate] - descriptor = AutoActivation.new(name, options[:modes] || :all) - @auto_activate[options[:auto_activate]] << descriptor - end + return unless options[:auto_activate] + + descriptor = AutoActivation.new(name, options[:modes] || :all) + @auto_activate[options[:auto_activate]] << descriptor end # @api private @@ -114,9 +114,9 @@ module Middleman # @param [Middleman::Application] app An instance of the app. def auto_activate(group, app) @auto_activate[group].each do |descriptor| - if descriptor[:modes] == :all || descriptor[:modes].include?(app.config[:mode]) - app.activate descriptor[:name] - end + next unless descriptor[:modes] == :all || descriptor[:modes].include?(app.config[:mode]) + + app.activate descriptor[:name] end end end diff --git a/middleman-core/lib/middleman-core/extensions/asset_hash.rb b/middleman-core/lib/middleman-core/extensions/asset_hash.rb index 1fd9426d..3fa5e9ea 100644 --- a/middleman-core/lib/middleman-core/extensions/asset_hash.rb +++ b/middleman-core/lib/middleman-core/extensions/asset_hash.rb @@ -35,12 +35,11 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension asset_path end - if asset_page = app.sitemap.find_resource_by_path(full_asset_path) - replacement_path = "/#{asset_page.destination_path}" - replacement_path = Pathname.new(replacement_path).relative_path_from(dirpath).to_s if relative_path + return unless asset_page = app.sitemap.find_resource_by_path(full_asset_path) - replacement_path - end + replacement_path = "/#{asset_page.destination_path}" + replacement_path = Pathname.new(replacement_path).relative_path_from(dirpath).to_s if relative_path + replacement_path end # Update the main sitemap resource list diff --git a/middleman-core/lib/middleman-core/extensions/relative_assets.rb b/middleman-core/lib/middleman-core/extensions/relative_assets.rb index f8666924..3820b8f8 100644 --- a/middleman-core/lib/middleman-core/extensions/relative_assets.rb +++ b/middleman-core/lib/middleman-core/extensions/relative_assets.rb @@ -29,9 +29,9 @@ class Middleman::Extensions::RelativeAssets < ::Middleman::Extension asset_path end - if !full_asset_path.include?('//') && !asset_path.start_with?('data:') - current_dir = Pathname('/' + request_path).dirname - Pathname(full_asset_path).relative_path_from(current_dir).to_s - end + return unless !full_asset_path.include?('//') && !asset_path.start_with?('data:') + + current_dir = Pathname('/' + request_path).dirname + Pathname(full_asset_path).relative_path_from(current_dir).to_s end end diff --git a/middleman-core/lib/middleman-core/preview_server.rb b/middleman-core/lib/middleman-core/preview_server.rb index 4695fb6c..e7d82335 100644 --- a/middleman-core/lib/middleman-core/preview_server.rb +++ b/middleman-core/lib/middleman-core/preview_server.rb @@ -2,6 +2,7 @@ require 'webrick' require 'middleman-core/meta_pages' require 'middleman-core/logger' +# rubocop:disable GlobalVars module Middleman module PreviewServer DEFAULT_PORT = 4567 @@ -110,12 +111,12 @@ module Middleman end def start_file_watcher - return if @listener or @options[:disable_watcher] + return if @listener || @options[:disable_watcher] # Watcher Library require 'listen' - options = {force_polling: @options[:force_polling]} + options = { force_polling: @options[:force_polling] } options[:latency] = @options[:latency] if @options[:latency] @listener = Listen.to(Dir.pwd, options) do |modified, added, removed| @@ -153,6 +154,7 @@ module Middleman Signal.trap(sig) do # Do as little work as possible in the signal context $mm_shutdown = true + @webrick.stop end end diff --git a/middleman-core/lib/middleman-core/renderers/liquid.rb b/middleman-core/lib/middleman-core/renderers/liquid.rb index a6fb2ef8..2085d939 100644 --- a/middleman-core/lib/middleman-core/renderers/liquid.rb +++ b/middleman-core/lib/middleman-core/renderers/liquid.rb @@ -12,10 +12,10 @@ module Middleman def manipulate_resource_list(resources) resources.each do |resource| + next unless resource.source_file =~ %r{\.liquid$} + # Convert data object into a hash for liquid - if resource.source_file =~ %r{\.liquid$} - resource.add_metadata locals: { data: app.data.to_h } - end + resource.add_metadata locals: { data: app.data.to_h } end end end diff --git a/middleman-core/lib/middleman-core/util.rb b/middleman-core/lib/middleman-core/util.rb index 912c7ae3..3620259e 100644 --- a/middleman-core/lib/middleman-core/util.rb +++ b/middleman-core/lib/middleman-core/util.rb @@ -100,15 +100,15 @@ module Middleman # @param [String] path A path as a string # @return [Boolean] Whether the path matches the matcher def path_match(matcher, path) - !!case + case when matcher.is_a?(String) if matcher.include? '*' File.fnmatch(matcher, path) else path == matcher - end + end when matcher.respond_to?(:match) - matcher.match(path) + !matcher.match(path).nil? when matcher.respond_to?(:call) matcher.call(path) else @@ -149,11 +149,16 @@ module Middleman return source if source.to_s.include?('//') || source.to_s.start_with?('data:') asset_folder = case kind - when :css then app.config[:css_dir] - when :js then app.config[:js_dir] - when :images then app.config[:images_dir] - when :fonts then app.config[:fonts_dir] - else kind.to_s + when :css + app.config[:css_dir] + when :js + app.config[:js_dir] + when :images + app.config[:images_dir] + when :fonts + app.config[:fonts_dir] + else + kind.to_s end source = source.to_s.tr(' ', '') @@ -172,7 +177,7 @@ module Middleman # @return [String] The fully qualified asset url def asset_url(app, path, prefix='', _options={}) # Don't touch assets which already have a full path - if path.include?('//') or path.start_with?('data:') + if path.include?('//') || path.start_with?('data:') path else # rewrite paths to use their destination path if resource = app.sitemap.find_resource_by_destination_path(url_for(app, path))