Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么rubocop只在我的分支机构变更上失败?_Ruby On Rails_Ruby_Git_Rubocop - Fatal编程技术网

Ruby on rails 为什么rubocop只在我的分支机构变更上失败?

Ruby on rails 为什么rubocop只在我的分支机构变更上失败?,ruby-on-rails,ruby,git,rubocop,Ruby On Rails,Ruby,Git,Rubocop,在我们的项目rubocop.yml中,我们对类中的行数进行了以下检查: ClassLength: Max: 150 # Default 100 lib/utils/foo.rb中有一个已经超过200行的文件。如果我在master分支上运行rubocop检查,则rubocop运行良好,没有任何错误。 现在,在我的feature/cool\u feature分支中,我在这个lib/utils/foo.rb类中添加了5行代码。现在,如果我在我的分支中运行rubocop,它将失败,并出现以下

在我们的项目
rubocop.yml
中,我们对类中的行数进行了以下检查:

ClassLength:
    Max: 150 # Default 100
lib/utils/foo.rb
中有一个已经超过200行的文件。如果我在
master
分支上运行
rubocop
检查,则rubocop运行良好,没有任何错误。

现在,在我的
feature/cool\u feature
分支中,我在这个
lib/utils/foo.rb
类中添加了5行代码。现在,如果我在我的分支中运行
rubocop
,它将失败,并出现以下错误:

Offenses:

lib/utils/foo.rb:1:1: C: Class has too many lines. [151/150]
  • 当主分支中已经有150多行代码时,为什么该文件未通过rubocop测试?(注意:rubocop在主分支上运行时没有任何错误)
  • 当该类有214行时,为什么错误消息显示该类只有151行
  • 呼叫,哪个呼叫

    这意味着它将只计算(非空、非注释)

    因此,检查
    master
    中的文件是否有超过150个非空、非注释行

    有关详细信息,请参阅“”

    target_line_numbers = body_line_numbers -
                          line_numbers_of_inner_nodes(node, :module, :class)
    
    target_line_numbers.reduce(0) do |length, line_number|
      source_line = processed_source[line_number]
      next length if irrelevant_line(source_line)