У меня есть этот код в файле класса .rb:
field :user, Types::UserType do resolve ->(_obj, _args, ctx) { ctx[:user] } end
мне нужно удалить do
и end
из одной строки, используя, я думаю, {}
.
[Style/BlockDelimiters] Prefer
{...}over
сделать...конецfor single-line blocks.
Но я не понимаю, почему он выдает эту ошибку:
[ruby] syntax error, unexpected '{', expecting '('
[ruby] syntax error, unexpected '}', expecting keyword_end
Рубокоп версия
$ rubocop -V
0.51.0 (using Parser 2.4.0.2, running on ruby 2.4.2 x64-mingw32)
Types::UserType
. - person Aleksei Matiushkin   schedule 28.12.2017field(:user, Types::UserType) do #etc
что, как было сказано, он будет лучше читаться как 2 строки или с использованием более естественного синтаксиса встроенного блока. - person engineersmnky   schedule 28.12.2017more natural inline block syntax
? - person   schedule 28.12.2017{...}
для обозначения встроенного блока. Внутренний синтаксический анализатор не запрещает использованиеdo...end
в качестве встроенного блока, это просто обычно не считается правильным стилем. - person engineersmnky   schedule 28.12.2017