首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何识别自定义COP中的全局Rails设置?

如何识别自定义COP中的全局Rails设置?
EN

Stack Overflow用户
提问于 2020-04-28 10:18:14
回答 2查看 68关注 0票数 0

我的警察:

代码语言:javascript
复制
# lib/rubocop/cop/myproject/my_cop.rb

require 'rubocop'

module RuboCop
  module Cop
    module MyProject
      class MyCop < RuboCop::Cop::Cop
        # ...
      end
    end
  end
end

这个警察需要知道一些全局设置Rails。例如,Rails.logger.log_level

但我会犯错误:

1) undefined method 'logger' for RuboCop::Cop::Rails:Module --当我调用Rails.logger.log_level

2) uninitialized constant Rails --当我调用::Rails.logger.log_level

,这能做吗?还是一个愚蠢的主意?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-28 16:17:59

作为一种选择,您可以:

代码语言:javascript
复制
# lib/rubocop/cop/myproject/my_cop.rb

require 'rubocop'
require_relative '../../../../../config/environment'

module RuboCop
  module Cop
    module MyProject
      class MyCop < RuboCop::Cop::Cop
        # ...
      end
    end
  end
end

打电话给::Rails.logger.level

票数 1
EN

Stack Overflow用户

发布于 2020-04-28 13:02:30

Rubocop是一个静态代码分析器。这意味着当您运行rubocop命令时,它不会加载任何ruby环境,包括Rails。它只是读取红宝石文件和分析作为文本文件。

所以简单的回答是:不,不能用Rubocop来实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61477841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档