Я почти уверен, что это не настоящий рубин.Это может работать, но уродливо, потому что вы передаете многострочный блок в качестве аргумента метода.
resolve(Auth.protect lambda do (_obj, inputs, ctx)
current_user = ctx[:current_user]
if current_user.update(inputs.to_params)
{ user: current_user }
else
{ messages: current_user.fields_errors }
end
end)
Вы можете сделать его более читабельным, выполнив что-то более похожее на это:
auth = Auth.protect lambda do (_obj, inputs, ctx)
current_user = ctx[:current_user]
if current_user.update(inputs.to_params)
{ user: current_user }
else
{ messages: current_user.fields_errors }
end
end
resolve(auth)