1

按照官方网站的建议,我配置了一个 Jenkins 作业来运行 foodcritic 的分析。当我运行此作业时,所有结果如下所示:

关于詹金斯的美食评论家报告

如上表所示,代码库有一个“Chef List Warning”,官方网站引用为FC017。postgredb.rb 的原始代码是:

# Support whyrun
require 'chef/mixin/shell_out'

require 'chef/mixin/language'
include Chef::Mixin::ShellOut

def whyrun_supported?
   true
end

action :install do
  version = @new_resource.version
  options = @new_resource.options
  e = execute "sudo apt-get install postgresql-#{version} #{options}"
  @new_resource.updated_by_last_action(e.updated_by_last_action?)
end

# Now, it just changes the default password to postgres.
action :unistall do
  converge_by "Unistall postgresql--#{@new_resource.version}" do
     e = execute "sudo apt-get purge postgresql--#{@new_resource.version}" do
       #not_if { "dpkg --get-selections | grep postgresql-#{@new_resource.version}" }
     end
  end
end

...

FC017警告针对第 10,因为“LWRP 在发生更新时不通知”:

 @new_resource.updated_by_last_action(e.updated_by_last_action?)

然后我尝试为此解决问题更改行:

 @new_resource.updated_by_last_action(true)

但是这个问题在第 10 行仍然存在。

有谁知道是什么问题?如果参数设置为真,为什么不消除此警告?

4

1 回答 1

3

删除@之前的符号new_resource

于 2014-04-02T15:05:45.637 回答