The think is that we want to write it like
def file_params
params
.require(:file)
.permit(
:description,
:user_id,
:content_type,
:created_at,
:updated_at,
:unit_id,
:document_id,
:document_type,
:sort_id,
:is_deleted
)
end
I know I could write it on one line but we want to have it like this.
In generall we think to 10 lines method like is good. For some controllers we have more then 10 parameters and need more then 10 lines.
Bit of an out there idea I'd be interested in a sanity check on. Javascript has the idea of codemods, I kinda want to try and make the same thing in Ruby. Rubocop already has a lot of work done on top of parser, including the NodePattern syntax and autocorrect capabilities.
Is there a possibility of generalizing the autocorrect capability into a code rewrite gem?
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)