lib/rubocop/cop/style/word_array.rb in rubocop-0.49.1 vs lib/rubocop/cop/style/word_array.rb in rubocop-0.50.0

- old
+ new

@@ -33,10 +33,11 @@ # %w[foo bar baz] class WordArray < Cop include ArrayMinSize include ArraySyntax include ConfigurableEnforcedStyle + include PercentArray include PercentLiteral PERCENT_MSG = 'Use `%w` or `%W` for an array of words.'.freeze ARRAY_MSG = 'Use `[]` for an array of words.'.freeze QUESTION_MARK_SIZE = '?'.size @@ -45,50 +46,32 @@ attr_accessor :largest_brackets end def on_array(node) if bracketed_array_of?(:str, node) + return if complex_content?(node.values) + check_bracketed_array(node) elsif node.percent_literal?(:string) check_percent_array(node) end end + private + def autocorrect(node) if style == :percent correct_percent(node, 'w') else correct_bracketed(node) end end - private - def check_bracketed_array(node) - return if complex_content?(node.values) || - comments_in_array?(node) || - below_array_length?(node) + return if allowed_bracket_array?(node) array_style_detected(:brackets, node.values.size) - add_offense(node, :expression, PERCENT_MSG) if style == :percent - end - - def check_percent_array(node) - array_style_detected(:percent, node.values.size) - add_offense(node, :expression, ARRAY_MSG) if style == :brackets - end - - def percent_syntax?(node) - node.loc.begin && node.loc.begin.source =~ /\A%[wW]/ - end - - def comments_in_array?(node) - comments = processed_source.comments - array_range = node.source_range.to_a - - comments.any? do |comment| - !(comment.loc.expression.to_a & array_range).empty? - end + add_offense(node) if style == :percent end def complex_content?(strings) strings.any? do |s| string = s.str_content