summaryrefslogtreecommitdiff
path: root/lib/system_check/app/projects_have_namespace_check.rb
blob: a6ec9f7665c7871731196644d25ba0d5a488768f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
module SystemCheck
  module App
    class ProjectsHaveNamespaceCheck < SystemCheck::BaseCheck
      set_name 'Projects have namespace:'
      set_skip_reason "can't check, you have no projects"

      def skip?
        !Project.exists?
      end

      def multi_check
        $stdout.puts ''

        Project.find_each(batch_size: 100) do |project|
          $stdout.print sanitized_message(project)

          if project.namespace
            $stdout.puts 'yes'.color(:green)
          else
            $stdout.puts 'no'.color(:red)
            show_error
          end
        end
      end

      def show_error
        try_fixing_it(
          "Migrate global projects"
        )
        for_more_information(
          "doc/update/5.4-to-6.0.md in section \"#global-projects\""
        )
        fix_and_rerun
      end
    end
  end
end