def extract_array_as_string(node, array_join_with:, array_flatten: false, array_reject_blank: false)
      children_strings = node.children.map do |child|
        if %i[sym str int true false].include?(child.type) # rubocop:disable Lint/BooleanSymbol
          extract_string child
        else
          # ignore dynamic argument in strict mode
          return nil if config[:strict]
          if %i[dsym dstr].include?(child.type) || (child.type == :array && array_flatten)
            extract_string(child, array_join_with: array_join_with)
          else
            "\#{#{child.loc.expression.source}}"
          end
        end
      end
      if array_reject_blank
        children_strings.reject! do |x|
          # empty strings and nils in the scope argument are ignored by i18n
          x == ''
        end
      end
      children_strings.join(array_join_with)
    end
def extract_array_as_string(node, array_join_with:, array_flatten: false, array_reject_blank: false)
      children_strings = node.children.map do |child|
        if %i[sym str int true false].include?(child.type) # rubocop:disable Lint/BooleanSymbol
          extract_string child
        else
          # ignore dynamic argument in strict mode
          return nil if config[:strict]
          if %i[dsym dstr].include?(child.type) || (child.type == :array && array_flatten)
            extract_string(child, array_join_with: array_join_with)
          else
            "\#{#{child.loc.expression.source}}"
          end
        end
      end
      if array_reject_blank
        children_strings.reject! do |x|
          # empty strings and nils in the scope argument are ignored by i18n
          x == ''
        end
      end
      children_strings.join(array_join_with)
    end
Extract an array as a single string.

 @param array_join_with [String] joiner of the array elements.
 @param array_flatten [Boolean] if true, nested arrays are flattened,
     otherwise their source is copied and surrounded by #{}.
 @param array_reject_blank [Boolean] if true, empty strings and `nil`s are skipped.
 @return [String, nil] `nil` is returned only when a dynamic value is encountered in strict mode.