expiry_date
to and instance of Quote
object object.expiry_date
in the Quote
object? because it seems more reasonable than try to create a linter for it. Make the interface fail or warn developers about it. When they run tests they will know the api is no longer going to support it.
Dir[pat]
, some_array[x], etc
rubocop
and I don't know which those are or why anything has changed
Hi all,
I'm having some difficulties finding a good solution to my current issue. In the project I work on (cucumber-ruby), I'm getting Rubocop errors on some string formatting. We have enforced annotated
style for string formatting:
Style/FormatStringToken:
EnforcedStyle: annotated
but we also use formatting to specify number of decimals to keep in stone functions, eg:
def format_duration(seconds)
m, s = seconds.divmod(60)
"#{m}m#{format('%.3f', s)}s"
end
And of course, rubocop complains that this is not annotated style:
Style/FormatStringToken: Prefer annotated tokens (like %<foo>s) over unannotated tokens (like %s).
@io.print format_string(format('%.7f', stepdef_key.mean_duration), :skipped) + ' ' unless config.dry_run?
How to solve this kind of problem ? (hopefully I'm on the right channel :) )
Anyone happen to have a link handy for where I might learn about how to initialize and run rubocop directly in Ruby? I'm trying to build something to check snippets of ruby in some documentation so the source file is a view template not a ruby file and contains other languages. I want to pass a string in Ruby to some actor and have it return cops or some such.
For javascript, I'm doing something like
Eslintrb.lint(raw_code, :eslintrc)
Hi! I have a question.
I have a rubocop.yml
on Github, which I inherit_from
in all my projects. Some projects are pure Ruby, some Rails, and some use RSpec.
It is fine to require: rubocop-rails
in a Rails project, naturally.
But in a pure Ruby project I would not want to demand that the rubocop-rails
gem is installed (neither should other developers have to install that gem, nor is it needed on CI).
So, how would I organize my shared rubocop config?
I cannot just specify any Rails/
cop in it, because that raises an error here
Similarly, the RSpec cops should only run in projects that use RSpec.
My idea is to have a rubocop.ruby.yml
and a rubocop.rails.yml
etc. on Github and inherit only the ones I need in my project.
Is that the recommended solution? I thought it was nice to have only one yml file with all cops, but I don't see how I could achieve that without the disadvantages I tried to describe.
Thank you very much.
curious why ruby-parse considers a block that has multiple lines to be nested within a begin. I know this isn't a rubocop question, just trying to figure out how one would generically say:
this method call within a block of this type
is it easier to do that or
this block with this method call within
create_table :a_table do |z|
z.goober :name
z.string :col
end
create_table :a_table do |z|
z.goober :name
end
parsed
(begin
(block
(send nil :create_table
(sym :a_table))
(args
(procarg0
(arg :z)))
(begin
(send
(lvar :z) :goober
(sym :name))
(send
(lvar :z) :string
(sym :col))))
(block
(send nil :create_table
(sym :a_table))
(args
(procarg0
(arg :z)))
(send
(lvar :z) :goober
(sym :name))))
@myii:matrix.org
Hi, loving rubocop
, we've deployed it across over 60 of our repos under https://github.com/saltstack-formulas. Found an issue with rubocop -a --safe
, the first time it's actually caused a breakage. This is the section, before and after:
Resulting in:
test/integration/default/controls/config_spec.rb:158:35: F: Lint/Syntax: unterminated string meets end of file
Worth a bug report?
Hi, I believe I found a bug that has possibly been fixed in a newer version of Rubocop. In version 0.57.2
, this code:
time_period = updated_during ? updated_during : 2.days.ago..Time.now
is autocorrected to
time_period = updated_during || 2.days.ago..Time.now
However, that’s incorrect if updated_during
is not nil
, because ||
has a higher precedence than ..
, whereas ?
has a lower precedence than ..
.
Hello friends! Is there any research or ongoing mechanism to allow us to use RuboCop combining autocorrect
with user input confirmation?
I'm asking because today a friend shared a script (https://gist.github.com/jaimerson/57847f25191f58018af06c1c1ea0e4f6) that autocorrects subject names from RSpec/NamedSubject
and gives the opportunity to fix it ongoing or accept the suggestions. While cleaning up offenses it would speed up a lot the flow and we could have a default and allow people to edit it if they want through the interactive mode.
It would also allow us to interactive fix cops that doesn't have autocorrect implementation because of some the dependency of the user input.
Trying to find the Rubocop yml file. I looked in the .gem and .rvm folders.
@marcandre RE: https://github.com/rubocop-hq/rubocop/pull/7868#issuecomment-642392984
May not quite be the right place for it but does unlock a lot of interesting potential for really succinct corrections
PATTERN
: https://github.com/utkarsh2102/rubocop-packaging/blob/master/lib/rubocop/cop/packaging/gemspec_git.rb#L46
PATTERN
can't parse the second call to git, that is, spec.executables
.