问题标签 [rubocop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
492 浏览

ruby - Chef rvm 食谱 - 访问已安装 gem 的问题

我正在尝试将 chef 用于以下(Centos VM):

  • 安装红宝石 1.9.3
  • 创建任何人都可以使用的 gemset ('chef-test')
  • 在“chef-test”gemset 上安装两个 gem(rubocop 和 foodcritic)

我正在使用https://github.com/fnichol/chef-rvm从包装说明书中安装 rvm。

这是我的食谱的一部分,它覆盖了 rvm 食谱,理论上应该执行上述操作:

厨师收敛完成没有错误,但是当我以“teamcity”用户身份登录并执行其中一个宝石时,我得到以下信息:

我在这里想念什么?当我以用户身份登录时,用户已正确添加到 rvm 组,并且默认情况下会加载正确的 gemset。

0 投票
1 回答
528 浏览

emacs - RuboCop 可以为每一行输出正确的缩进级别吗?

RuboCop 与 emacs 很好地集成,当一行没有像 RuboCop 想要的那样缩进时告诉我。我尝试过的 Emacs ruby​​ 模式并没有像 RuboCop 想要的那样缩进,所以我只是接受会有一些波浪线让我知道某些东西不是按照那种风格缩进的。

既然 RuboCop 知道每行应该如何缩进,它能否发出一些枚举每行应该如何缩进的东西?例如给出这样的代码:

RuboCop 可以输出如下内容吗?

它可以用作 Emacs ruby​​ 模式的输入以自动缩进行。

0 投票
5 回答
5487 浏览

ruby - 用于标签的 Rubocop

我们想使用 Rubocop 来验证我们的 ruby​​ 在语法上是否正确并遵循基本的代码指南。

从此我们有了这条规则:我们使用制表符缩进以允许任何人决定他们希望如何呈现它们(将它们显示为 2 或 4 个空格)

问题是 rubocop 似乎被设计为完全拒绝缩进标签。

我们如何才能超越所有这些规则成为空间兼容者?

编辑:我正在考虑覆盖此模块https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb将我文件中的所有选项卡替换为 2 个空格以创建 gem 的错觉...

0 投票
1 回答
1372 浏览

ruby - 了解 Rubocop“无法访问的代码”警察

我有以下声明

if !defined?(proxy) || proxy.blank?

我想要实现的是避免在 nil 对象上使用未定义的方法。因此,我的意图是

  1. 检查“代理”对象是否定义为开头
  2. 检查“代理”对象是否不为空(但另有定义)

Rubocop 说“检测到无法访问的代码”,但是当我读到它时,可以定义对象“代理”但为空,这意味着将评估 if 语句的第二部分。

代码是如何无法访问的?

0 投票
3 回答
8315 浏览

ruby-on-rails - Ruby 中的嵌套类与紧凑类

从事最初的 Rails 项目,并使用Rubocop分析代码风格。这让我开始质疑 Ruby 的嵌套类在 Rails 上下文中是如何工作的。例如,在我的引擎中,我有一个模型:

和一个控制器:

在模型的情况下,模块与路径相同,类名与文件名相同。在控制器的情况下,路径的第二部分“租户”是类名的一部分。

Rubocop 告诉我应该在该Tenant::MembersController行中“使用嵌套类定义而不是紧凑样式”,所以如果我理解正确......

...这不应该有所作为。

现在,我的问题是我将 AppCore::Tenant 作为模型,但随后 AppCore::Tenant 看起来被重新打开,并且 MembersController 类作为嵌套类添加到其中。这是否意味着我的租户类将始终包含该嵌套类?我是否需要以不同的方式命名我的模型和控制器路由?这完全没问题,没有什么可担心的吗?不完全确定这意味着什么。

0 投票
2 回答
1605 浏览

rspec - RSpec & Rubocop / Ruby 风格指南

当告诉 rails 脚手架控制器生成 rspec 测试时,生成的文件不遵循Ruby 样式指南,因此rubocop会在这些文件上抛出错误。

只有几个“警察”失败了。Style/HashSyntax、Style/StringLiterals、Style/MethodCallParentheses、Style/SpaceInsideHashLiteralBraces、Style/Blocks。

我确实了解其中一些警察只是样式偏好,例如 Style/StringLiterals (当您不需要字符串插值或特殊符号时,首选单引号字符串。)

不过,我希望我的测试符合 rubocop。有谁知道用符合 Ruby Style Guide / rubocops Cops 的模板替换 rspec-rails 模板(例如controller_spec.rb )的 gem?或者解决我的问题的任何未记录(或记录)的 rspec / rspec-rails 功能?

解决方法正在运行

生成新的测试文件后,但我宁愿省略这一步。

非常感谢任何帮助或指示!

0 投票
1 回答
908 浏览

ruby-on-rails - Rails 配置 rubocop

我在 rails 4 应用程序中使用 pre-commit 和 rubocop gem。我想逃避导致错误的报价检查 Prefer single-quoted strings when you don't need string interpolation or special symbols.

这是我已经在 .rubocop.yml 中尝试过的,但它没有我想要的效果。

0 投票
1 回答
196 浏览

ruby - 用于重新格式化数组文字的 Ruby 工具

是否有 Ruby 工具或编辑器插件可以将数组文字转换为 %w 数组文字?

我知道我可以编写自己的正则表达式来做到这一点,但我希望有现成的东西。我已经在使用 Rubocop 作为 linter,但它并没有涵盖它。我似乎也找不到 RubyMine、Sublime 或 Atom 的插件。

0 投票
2 回答
10850 浏览

ruby - 为什么 rubocop 或 ruby​​ 风格指南不喜欢使用 get_ 或 set_?

我在我的项目上运行 rubocop 并解决它提出的投诉。

一个特别的抱怨困扰着我

我无法从这个投诉中理解太多,所以我查看了 github 中的源代码

我找到了这个片段

所以建议或约定如下:

1)实际上他们建议我们在方法没有参数时不要使用 get_ 。否则他们允许 get_

2)当方法只有一个参数时,他们建议我们不要使用 set_ 。否则他们允许 set_

这个约定或规则或建议背后的原因是什么?

0 投票
4 回答
106653 浏览

ruby - Rubocop Linelength:如何忽略带有注释的行?

使用 Rails 4 应用程序时,我希望 Rubocop 在检查行是否过长时忽略带有注释的行(只是注释或带有行尾注释的某些代码)。有没有办法做到这一点?