From c6f5994e1d2603df27e9f984620f8452df5c5726 Mon Sep 17 00:00:00 2001 From: Peter Leitzen Date: Thu, 18 Jul 2019 07:46:42 +0200 Subject: QA: Prefer `flat_map` over `map` + `flatten` --- qa/qa/page/base.rb | 4 ++-- qa/qa/page/validator.rb | 6 ++---- qa/qa/scenario/test/sanity/selectors.rb | 2 +- qa/spec/specs/runner_spec.rb | 4 ++-- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb index 80ce23d5c38..45496c6b245 100644 --- a/qa/qa/page/base.rb +++ b/qa/qa/page/base.rb @@ -181,11 +181,11 @@ module QA return ["Page class does not have views / elements defined!"] end - views.map(&:errors).flatten + views.flat_map(&:errors) end def self.elements - views.map(&:elements).flatten + views.flat_map(&:elements) end def send_keys_to_element(name, keys) diff --git a/qa/qa/page/validator.rb b/qa/qa/page/validator.rb index edd12665f1e..9b2d0a1a41d 100644 --- a/qa/qa/page/validator.rb +++ b/qa/qa/page/validator.rb @@ -22,16 +22,14 @@ module QA end def descendants - @descendants ||= constants.map do |const| + @descendants ||= constants.flat_map do |const| case const when Class const if const < Page::Base when Module Page::Validator.new(const).descendants end - end - - @descendants.flatten.compact + end.compact end def errors diff --git a/qa/qa/scenario/test/sanity/selectors.rb b/qa/qa/scenario/test/sanity/selectors.rb index e05269e8d55..b4d70fc191a 100644 --- a/qa/qa/scenario/test/sanity/selectors.rb +++ b/qa/qa/scenario/test/sanity/selectors.rb @@ -14,7 +14,7 @@ module QA Page::Validator.new(pages) end - validators.map(&:errors).flatten.tap do |errors| + validators.flat_map(&:errors).tap do |errors| break if errors.none? warn <<~EOS diff --git a/qa/spec/specs/runner_spec.rb b/qa/spec/specs/runner_spec.rb index 6c533c6dc7d..3d98f03a982 100644 --- a/qa/spec/specs/runner_spec.rb +++ b/qa/spec/specs/runner_spec.rb @@ -125,9 +125,9 @@ describe QA::Specs::Runner do end def excluded_feature_tags_except(tag) - QA::Runtime::Env.supported_features.except(tag).map do |tag, _| + QA::Runtime::Env.supported_features.except(tag).flat_map do |tag, _| ['--tag', "~requires_#{tag}"] - end.flatten + end end def expect_rspec_runner_arguments(arguments) -- cgit v1.2.1